JAVASEday05面向对象之封装

理解封装

封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许程序直接访问都想内部信息,而是通过该类的方法对内部信息的操作和访问。
使用封装的好处:

  • 将变化隔离

  • 便于使用

  • 提高重用性

  • 投稿安全性
    封装的原则

  • 将不需要对外提供的内容都隐藏起来

  • 把属性都隐藏,童工公共方法对其访问
    那么如何进行封装,如何把内容隐藏,又怎么通过公共方式访问呢,下面我们通过一个具体的实例说明

public class Demo1 {
    public static void main(String[] args) {
        Person p =new Person();
        p.setAge(20);

    }

}
class Person{
    private int age;

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        if(age>0&&age<100){
            this.age = age;
            speak();
        }
        else{
            System.out.println("非法age");
        }

    }

    void speak(){
        System.out.println("age="+age);
    }
}

权限修饰符

java提供了三个访问修饰符,分别是public,default,private和protected,分别代表了三个访问控制级别,

  • private:当前类访问权限,如果类中的一个成员被private修饰,则这个成员只能在当前类的内部被访问,如果它修饰成员变量就可以把变量隐藏在类内部
  • default:包访问权限:如果类里的一个成员或者一个外部类不适用任何访问控制修饰,它就是包访问权限的,它修饰的成员或者外部类可以被相同包下的其他类访问
  • protected:如果一个成员使用protected修饰符,这个成员既可以被同一个包中的其他类访问,也可以被不同包中的子类访问。
  • public:如果一个成员或一个外部类被public修饰,那么它可以被所有类访问。
  • 在这里插入图片描述

你可能感兴趣的:(JAVASEday05面向对象之封装)