我注意到,如果我不在上课前写 public
,它的工作原理与 public class
一样。我不明白为什么会这样?当我没有将类声明为 public
、 private
或 protected
时,它应该显示错误。但它工作正常。是什么原因?
原文由 Tushar Monirul 发布,翻译遵循 CC BY-SA 4.0 许可协议
我注意到,如果我不在上课前写 public
,它的工作原理与 public class
一样。我不明白为什么会这样?当我没有将类声明为 public
、 private
或 protected
时,它应该显示错误。但它工作正常。是什么原因?
原文由 Tushar Monirul 发布,翻译遵循 CC BY-SA 4.0 许可协议
我注意到,如果不在上课前写 public ,它的工作原理与公共课相同。
不,它没有。除非它是公开的,否则不在同一个包中的其他代码将看不到该类。默认可访问性(无法明确指定)是类(或其他成员)仅对同一包中的其他代码可见。
您应该阅读 Java 语言规范第 6.6 节 和 Java 教程(控制对类成员的访问) 以获取更多详细信息。
原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
public
,protected
和private
是访问修饰符。 public 意味着主题可以被任何类访问,被子类保护,被类本身私有,没有修饰符意味着“包保护”,所以主题可以被同一个包中的类访问。主题是类、方法、成员变量。