一尘不染

Java:一个文件中包含多个类声明

java

在Java中,你可以在一个文件中定义多个顶级类,条件是其中最多一个是公共的(请参见JLS§7.6)。参见以下示例。

是否有此技术整洁名(类似于inner,nested,anonymous)?

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;
}

阅读 682

收藏
2020-03-06

共1个答案

一尘不染

对于这种技术,我建议的名称(在一个源文件中包括多个顶级类)将是“ mess”。认真地说,我认为这不是一个好主意-在这种情况下,我将使用嵌套类型。然后,仍然很容易预测它所在的源文件。但是我不相信这种方法有正式的术语。

至于这是否在实现之间确实发生了变化-我对此表示高度怀疑,但是如果您一开始就避免这样做,则无需担心

2020-03-06