【问题标题】:In Java, why must a public interface be the only public interface declared in a file, and why the file must have same name as that interface? [duplicate]在 Java 中,为什么公共接口必须是文件中声明的唯一公共接口,为什么文件必须与该接口同名? [复制]
【发布时间】:2019-12-04 17:56:11
【问题描述】:

我正在阅读 Herbert Schildt 撰写的 Java: The Complete Reference, Eleventh Edition, 11th Edition,但无法真正理解作者以下文字的意思:

当它被声明为public时,接口可以被其包外的代码使用。在这种情况下,接口必须是文件中声明的唯一公共接口,并且文件必须与接口同名。

【问题讨论】:

标签: java oop interface


【解决方案1】:

不仅仅是接口,

默认情况下,如果您在文件中声明了公共类,则文件和类应该具有完全相同的名称,并且可以在任何地方使用公共“事物”,而不是像“包私有”那样默认的 java 访问修饰符,如果你没有提供,它允许你的类只在它们所在的包中可见。

【讨论】:

    【解决方案2】:

    这是 Java 原作者的设计决定。通过明确说明,打包和模块化始终反映在源的目录树中,反之亦然。

    有人可能会质疑这个决定——我会,这意味着你不能在不破坏整个代码库的代码的情况下重构打包——但这就是它的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-04
      • 2011-11-06
      • 2011-08-29
      • 2023-03-23
      • 1970-01-01
      • 2017-09-13
      • 2023-03-13
      • 2013-04-11
      相关资源
      最近更新 更多