在Java中,你可以在一个文件中定义多个顶级类,条件是其中最多一个是公共的(请参见JLS§7.6)。参见以下示例。
是否有此技术整洁名(类似于inner,nested,anonymous)?
inner,nested,anonymous
JLS表示系统可能会强制执行这些二级类不能为的限制referred to by code in other compilation units of the package,例如,它们不能被视为程序包专用。这真的在Java实现之间有所改变吗?
referred to by code in other compilation units of the package
例如,PublicClass.java:
package com.example.multiple; public class PublicClass { PrivateImpl impl = new PrivateImpl(); } class PrivateImpl { int implementationData; }
对于这种技术,我建议的名称(在一个源文件中包括多个顶级类)将是“ mess”。认真地说,我认为这不是一个好主意-在这种情况下,我将使用嵌套类型。然后,仍然很容易预测它所在的源文件。但是我不相信这种方法有正式的术语。
至于这是否在实现之间确实发生了变化-我对此表示高度怀疑,但是如果您一开始就避免这样做,则无需担心