Java类成员中的四种访问权限分别是 :Private、Default、Protected、Public
我们平常都知道Private、Protected、Public却不很关注Default
他们的权限级别:Private < Default < Protected < Public
-
Private:最严格的访问级别,被修饰的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
-
Default :java默认的访问权限,可以被包内其他类访问
对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为
public。
- Protected :包内其他类访问,以及不同包中的子类内部访问。
(1)子类与基类在同一包中:
被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;
(2)子类与基类不在同一包中:
那么在子类中,子类实例可以访问其从基类继承而来的 protected方法,而不能访问基类实例的protected方法。
- Public:公共的,可被所有类访问。
想深入了解的话可以看看:你真的了解 protected 关键字吗?