问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。
解决方案:用private关键字将需要保护的成员变量进行修饰。
一但使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。
间接访问private成员变量,就是定义一对Getter/Setter方法
必须叫setXxx或者getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应。
对于Setter来说,不能有返回值,番薯类型和成员变量对应。
public class person {String name; //姓名private int age; //年龄public void show(){System.out.println("我叫:" + name + ",年龄:" + age);}//成员方法专门用于向age设置数据public void setAge(int num){if (num<100 && num >= 0){age = num;}elseSystem.out.println("数据不合理!");}//这个成员方法,专门用于获取age的数据public int getAge(){return age;}}
public class demo05Person {public static void main(String[] args) {person Person = new person();Person.show();Person.name = "AAA";// Person.age = 20; //之恶杰访问private内容,错误写法!Person.setAge(20);Person.show();}}
