【问题标题】:Why java doesn't allow two top-level class per file? [duplicate]为什么java不允许每个文件有两个顶级类? [复制]
【发布时间】:2011-09-13 10:28:05
【问题描述】:

可能重复:
Why only 1 public class in Java file

public class Sample {

}

public class Sample2 {

}

为什么 java 不允许这样做?
为什么我们必须给文件名和类名一样?

【问题讨论】:

标签: java


【解决方案1】:

好吧,我不知道有任何书面推理,但不难看出这将文件系统与类结构联系起来。

这使得(对于程序员和编译器/IDE)更容易在需要时找到他们正在寻找的类。

【讨论】:

    【解决方案2】:

    嗯,不是技术原因,但这是一种很好的做法;强制执行有时可能有点不方便,但最终它会使程序员受益。

    但是,如果类只需要查找同名文件,而不是必须搜索所有可用的代码文件,则更容易找到类的代码。

    【讨论】:

      【解决方案3】:

      Java 不允许每个文件有两个顶级类,原因与类名必须与文件名相同。

      在设置类路径时,Java 虚拟机将查找名称为 myclass.jar(或 .class,编译时)的类。如果您将两个类放在同一个文件中,则两者中的一个都将无法访问。

      同样,一个类也不能扩展多个文件。

      【讨论】:

        猜你喜欢
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-10
        • 2018-09-10
        • 2012-10-31
        • 1970-01-01
        • 2011-05-07
        • 1970-01-01
        相关资源
        最近更新 更多