在Java中,封装是一种将数据(属性)和操作数据的方法(函数)捆绑在一起,并隐藏对象的内部实现细节,只暴露必要的接口给外部访问的编程技巧。通过封装,我们可以保护对象的数据不被外部直接修改,提高代码的可维护性和安全性。
在Java中,可以使用protected访问修饰符来实现封装。protected修饰符允许访问同一个包中的其他类以及不同包中的子类。以下是如何使用protected实现封装的示例:
private,并提供protected的getter和setter方法。public class Person {
private String name;
private int age;
protected String getName() {
return name;
}
protected void setName(String name) {
this.name = name;
}
protected int getAge() {
return age;
}
protected void setAge(int age) {
if (age >= 0 && age <= 150) {
this.age = age;
} else {
System.out.println("Invalid age value");
}
}
}
在这个例子中,我们将name和age属性声明为private,这意味着它们不能在类外部直接访问。然后,我们提供了protected的getter和setter方法,以便子类可以访问和修改这些属性。在setAge方法中,我们还添加了一个简单的验证逻辑,以确保年龄值在合理范围内。
protected方法访问和修改属性。public class Student extends Person {
private String school;
public void setSchool(String school) {
this.school = school;
}
public void displayInfo() {
System.out.println("Name: " + getName());
System.out.println("Age: " + getAge());
System.out.println("School: " + school);
}
}
在这个例子中,我们创建了一个Student类,它继承了Person类。由于getName和getAge方法是protected的,Student类可以直接访问和修改这些属性。我们还添加了一个displayInfo方法,用于显示学生的信息。
通过这种方式,我们可以实现封装,保护对象的数据不被外部直接修改,同时允许子类访问和修改属性。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。