JAVA封装 (Encapsulation)
为了避免类中成员暴露在外,使得类成员变量被随意赋值或者更改。所以我们需要封装来实现数据的隐藏。应禁止直接访问一个对象中数据的实际表示。
需要通过操作接口来访问。我们提供一个公共的方法去获取数据,例如:
public class Student {
//属性的私有
private String name;
private int age;
private char sex;
//提供对上面私有属性的公共方法 get, set
// get 方法
public String getName() {
return this.name;
}
// set 方法
public void setName(String name) {
this.name= name;
}
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("哥斯拉的哥");
System.out.println(s1.getName());
}
}
//结果如下
由于封装过的方法,所以可以进行安全性的检查
public void setAge(int age){
if(age<130&&age>0){
this.age=age;
}
else{
System.out.println("年龄不合法,你是哥斯拉嘛?");
}
}
public int getAge(){
return this.age;
}
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("哥斯拉的哥");
//输入大于130的非法数值
s1.setAge(666);
System.out.println(s1.getAge());
}
//测试结果如下
最后我们可以发现封装带来的好处:
- 可以有效的保护数据,提高了程序的安全性。
- 隐藏了代码实现的具体细节。
- 统一接口,系统可维护性增加。