使用private关键字:
阻止不合理的数据被设置进来,提高了代码的安全性。
一旦使用了private进行修饰,那么本类当中仍然可以随意访问
但是!超出了本类范围之外就不能再直接访问量。
间接设置/访问成员变量,就是定义一对getter/setter方法
对于getter来说,不能有参数,返回值类型和成员变量对应
对于setter来说,不能有返回值,参数类型和成员变量对应
Person类:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show() {
System.out.println("姓名:" + name + " 年龄:" + age);
}
// 这个成员方法,专门用于向age设置数据
public void setAge(int num) {
if (num < 100 && num >= 9) {
age = num;
} else {
System.out.println("数据不合理!");
}
}
//这个成员方法专门用于获取age的数据
public int getAge() {
return age;
}
}
//问题描述,定义Person的年龄时,无法阻止不合理的数值被设置进来。
//解决方案,用private关键字将需要保护的成员变量进行修饰
public class Demo03Person {
public static void main(String[] args) {
Person person = new Person();
person.show();
person.setName("赵丽颖");
person.setAge(20);
person.setAge(-1);
person.show();
}
}