【发布时间】:2011-09-13 10:28:05
【问题描述】:
public class Sample {
}
public class Sample2 {
}
为什么 java 不允许这样做?
为什么我们必须给文件名和类名一样?
【问题讨论】:
-
但确实如此;它唯一的
public必须在自己的文件中声明的顶级类。
标签: java
public class Sample {
}
public class Sample2 {
}
为什么 java 不允许这样做?
为什么我们必须给文件名和类名一样?
【问题讨论】:
public 必须在自己的文件中声明的顶级类。
标签: java
好吧,我不知道有任何书面推理,但不难看出这将文件系统与类结构联系起来。
这使得(对于程序员和编译器/IDE)更容易在需要时找到他们正在寻找的类。
【讨论】:
嗯,不是技术原因,但这是一种很好的做法;强制执行有时可能有点不方便,但最终它会使程序员受益。
但是,如果类只需要查找同名文件,而不是必须搜索所有可用的代码文件,则更容易找到类的代码。
【讨论】:
Java 不允许每个文件有两个顶级类,原因与类名必须与文件名相同。
在设置类路径时,Java 虚拟机将查找名称为 myclass.jar(或 .class,编译时)的类。如果您将两个类放在同一个文件中,则两者中的一个都将无法访问。
同样,一个类也不能扩展多个文件。
【讨论】: