java protected 与默认权限的区别

Posted 纸上得来终觉浅,绝知此事要躬行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java protected 与默认权限的区别相关的知识,希望对你有一定的参考价值。

作用域   当前类    同package   子孙类 其他package 
public   √  √ 
protected × 
friendly(default) × × 
private × × × 

friendly 就是默认访问权限(成员变量前面不加public protected 和 private)
重点看protected和fiendly两种权限的区别:对于protected成员变量,子孙类在任何地方都能访问(包内或者包外),但是对于friendly或者说默认成员变量,其实是不存在子孙类访问权限的概念的,就是说如果子孙类在包内,则可以访问,子孙类在包外则不可以访问。
 
protected在其子类中可以访问,无论是子类内部还是子类的实例,无论它们是在哪个包中,但如果子类与父类不在同一个包中,在子类中用父类的实例去访问的话不可以

以上是关于java protected 与默认权限的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java中public,private,protected,和默认的区别

什么是Java类的访问权限?

java四种权限修饰符的区别

Java修饰符public,private,protected及默认的区别

如何区别java中的public,private,protected

private/默认/protected/public权限修饰符的区别