Java中的访问权限修饰符
Java 中总共有4中访问权限修饰符:Private、Default、Protected、Public,这四种访问权限从左到右是逐渐变宽松的。
Private:只能在当前定义类(包括内部类)中访问,其它任何类(包括当前类文件中的其它非内部类)都不能访问。
Default:只能在与定义变量的类相同的包中访问,即使是子类但不在相同包中也不能访问。
Protected:只能在当前定义类、当前包中的其它类、直接子类中访问,所以能否访问的判断规则是:
1、看protected成员/方法 的 引用位置 在直接子类中?
2、看protected成员/方法 的 引用位置 与 定义位置 在同一包中?
另外需要注意的是:如果子类重写了父类的protected方法,则protected方法的定义属于当前子类;否则,继承得到的protected方法的实际定义位置在父类中,甚至更往前。
Public:所有地方都可以访问,不受包和继承关系的约束。
转载请注明博客地址 http://www.cnblogs.com/nightingaleYch/