Java 封装 private public protected区别

封装权限说明:

Java 封装 private public protected区别
首先,对于类来说,只有public和非public之分
对于类成员,有上述权限
其次,在讨论权限的区分时,都是非static方法变量,所以在引用的时候都是实例化new一个对象,然后看能否有权限调用类的方法变量的

包权限:

是指在同一个包中的其他位置,实例化了一个A对象a,调用a的成员

子类权限:

是指,在不同包中,存在类B extends A,在B中实例化一个A对象a,调用a的成员。
与包权限实际上是不同的包的位置,如果在同一个包,子类调用A的权限和包权限是一个意思。

所有的类和包权限:

不管在哪个位置(哪个包里),不管是不是类A的子类,都可以调用类A的成员。