\`public class\` 和 just \`class\` 有什么区别?

新手上路,请多包涵

我注意到,如果我不在上课前写 public ,它的工作原理与 public class 一样。我不明白为什么会这样?当我没有将类声明为 publicprivateprotected 时,它应该显示错误。但它工作正常。是什么原因?

原文由 Tushar Monirul 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 385
2 个回答

publicprotectedprivate 是访问修饰符。 public 意味着主题可以被任何类访问,被子类保护,被类本身私有,没有修饰符意味着“包保护”,所以主题可以被同一个包中的类访问。

主题是类、方法、成员变量。

原文由 AlexR 发布,翻译遵循 CC BY-SA 3.0 许可协议

我注意到,如果不在上课前写 public ,它的工作原理与公共课相同。

不,它没有。除非它是公开的,否则不在同一个包中的其他代码将看不到该类。默认可访问性(无法明确指定)是类(或其他成员)仅对同一包中的其他代码可见。

您应该阅读 Java 语言规范第 6.6 节Java 教程(控制对类成员的访问) 以获取更多详细信息。

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题