Java 具有私有、受保护和公共访问修饰符。你能解释一下这些修饰符的可访问性范围吗?
如何访问不同包中的受保护成员?
为了更好地理解你需要看到这个
Access Modifiers
Same Class Same Package Subclass Other packages
public Y Y Y Y
protected Y Y Y N
no access modifier Y Y N N
private Y N N N
这里重要的区别是Default
和protected
。
默认值:永远不能在包外访问
受保护:仅当且仅当类是子类时才能在包外访问。
编辑:因为你的问题的答案也一样You can access the protected member by make your class a sub class of the class , in which protected member is defined