java中通过将数据声明为私有的(private)在提供公共的(public)方法:getXXX()和setXXX()实现对对象属性的操作,从而实现下述目的:
- 隐藏一个类中不需要对外提供的实现细节
- 使用者只能通过事先定制的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理操作
- 便于修改,增强代码的可维护性
package day06;
/**
* 封装和隐藏
*/
public class text06 {
public static void main(String[] args) {
Person p = new Person();
p.setAge(20);
p.printAge();
}
}
package day06;
public class Person {
//像这样吧类的属性开发出来,让调用者随意使用,会出现问题
//我们需要对这样不能让调用者随意使用的属性做封装和隐藏
//public int age;
private int age;
public void printAge(){
System.out.println("年龄是"+ age);
}
public int getAge() {
return age;
}
public void setAge(int a){
if(a <= 100 && a >= 0){
age = a;
System.out.println("输入的年龄为"+ age);
}
}
}