Java:一个文件中的多个类声明

问题:

在Java中,您可以在单个文件中定义多个顶级类,其中最多只有一个是公开的(请参阅JLS §7.6)。例如见下文。

  1. 这个技术有没有一个整洁的名字(类似于innernestedanonymous)?
  2. JLS说系统可能强制执行这些辅助类不能是referred to by code in other compilation units of the package的限制,例如,它们不能被视为包私有的。这是真的在Java实现之间改变的东西吗?

例如,PublicClass.java:

package com.example.multiple;

public class PublicClass {
    PrivateImpl impl = new PrivateImpl();
}

class PrivateImpl {
    int implementationData;
}

回答:

我建议的这个技术名称(包括单个源文件中的多个顶级类)将是“混乱”。认真的,我不认为这是一个好主意 – 我会在这种情况下使用一个嵌套类型。那么它仍然很容易预测哪个源文件。我不认为这个方法的官方术语。
至于这是否在实现之间实际上有所改变 – 我非常怀疑,但是如果你首先避免这样做,你永远不需要关心:)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Java: Multiple class declarations in one file

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

76 + = 86