理解封装
封装就是将对象信息隐藏在内部不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。例如写一个Person类其中的age属性是随着时间的流逝增加的,通常不能随意的更改它。
封装实现
1.private+属性
2.在类外对private修饰的属性进行访问时需要创建getter/setter操作接口取值和赋值
class Student {
private String name;
private int age;
private double score;
//无参构造方法
public Student() {
}
//有参构造方法
public Student(String name, int age, double score) {
this.name = name;
this.age = age;
this.score = score;
}
//获取
public String getName() {
return name;
}
//接受
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0 && age <= 150) {
this.age = age;
} else {
System.out.println("数据无效");
}
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
封装时权限控制符区别
private | defalut | protected | public | |
同一类中 | √ | √ | √ | √ |
同一包中 | √ | √ | √ | |
子类 | √ | √ | ||
全局范围 | √ |