为什么java不允许每个文件有两个顶级类?

时间:2011-09-13 10:28:05

标签: java

  

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

public class Sample {

}

public class Sample2 {

}

为什么java不允许这个?
为什么我们必须提供与类名相同的文件名?

3 个答案:

答案 0 :(得分:0)

好吧,我不知道任何记录在案的推理,但不难发现这会将文件系统与类结构联系起来。

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

答案 1 :(得分:0)

嗯,不是技术原因,但这是好习惯;强制执行可能有点不方便,但最终它有利于程序员。

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

答案 2 :(得分:0)

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

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

因此,一个类不能扩展多个文件。