做用域 |
当前类 |
同package |
子孙类 |
其余package |
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
× |
friendly(default) |
√ |
√ |
× |
× |
private |
√ |
× |
× |
× |
friendly 就是默认访问权限(成员变量前面不加public protected 和 private)
重点看protected和fiendly两种权限的区别:对于protected成员变量,子孙类在任何地方都能访问(包内或者包外),可是对于friendly或者说默认成员变量,实际上是不存在子孙类访问权限的概念的,就是说若是子孙类在包内,则能够访问,子孙类在包外则不能够访问。
protected在其子类中能够访问,不管是子类内部仍是子类的实例,不管它们是在哪一个包中,但若是子类与父类不在同一个包中,在子类中用父类的实例去访问的话不能够;
地址:http://www.cnblogs.com/mingforyou/p/5254307.html ;