java中通过将数据声明为私有的(private)在提供公共的(public)方法:getXXX()和setXXX()实现对对象属性的操作,从而实现下述目的:

  1. 隐藏一个类中不需要对外提供的实现细节
  2. 使用者只能通过事先定制的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理操作
  3. 便于修改,增强代码的可维护性
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);
        }
    }

}