如果.java文件具有多个顶级类,则它可以恰好具有一个顶级公共类,而所有其他顶级类都不能是公共的。

当我编译这样的.java文件(例如javac my.java)时,我发现每个顶级类都创建了一个.class文件。由于除了一个顶级类以外的所有其他类都是非公开的,为什么仍为每个非公开的顶级类创建一个.class文件?

谢谢。

最佳答案

JVM spec


  每个类文件都包含单个类,接口或模块的定义。


可见性不会对此产生影响。

09-25 18:59