我正在尝试学习 java,当我通过访问说明符时,我有一个疑问。如果未指定默认访问说明符和 java 中的受保护访问说明符有什么区别?
原文由 Abhilash PS 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试学习 java,当我通过访问说明符时,我有一个疑问。如果未指定默认访问说明符和 java 中的受保护访问说明符有什么区别?
原文由 Abhilash PS 发布,翻译遵循 CC BY-SA 4.0 许可协议
本 Java 教程 可能对您有些用处。
Modifier | Class | Package | Subclass | World
public | Y | Y | Y | Y
protected | Y | Y | Y | N
no modifier | Y | Y | N | N
private | Y | N | N | N
原文由 Coding Master 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答1.8k 阅读
2 回答769 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.3k 阅读
protected
说明符允许相关类的所有子类访问,无论它们位于什么包中,以及同一包中的其他代码。默认说明符允许同一包中的其他代码访问,但不允许位于不同包中的子类中的代码访问。请参阅 Java 语言规范第 6.6 节。编辑:根据 Michael Schmeißer 的要求(这样其他人就不必通读评论或通过链接找到它):接口的所有成员都是隐式公开的。事实上,为
public
以外的接口成员指定任何访问说明符是一个编译时错误(尽管没有访问说明符默认为公共访问)。这是 JLS 中针对类成员的完整规则集(有关包、顶级类和接口以及数组的规则,请参见上面的链接):