在单独的文件中声明嵌套类

时间:2014-01-05 02:33:37

标签: java nested-class

这里我们有一个嵌套类:

class OuterClass {
    ...
    static class StaticNestedClass {
        ...
    }

}

我可以在单独的文件中声明它们,而不是将它们写在同一个文件中吗?

这个问题:Putting Nested Classes In Separate Files告诉我使用恰好在Eclipse中可用的重构选项。我用它,但我最终得到两个文件:

class OuterClass {
    ...
}

class StaticNestedClass {

}

但就我而言,那不再是一个嵌套类,对吧?

3 个答案:

答案 0 :(得分:2)

你不能用Java做到这一点。

作为一个注释,如果您使用的语言支持部分类(例如C#),您可以这样做

文件1:

partial class OuterClass {
}

文件2:

partial class OuterClass {
    class StaticNestedClass {

    }
}

但Java没有部分类,所以这对这种特殊情况没有帮助。在Java中,只能在一个文件中声明一个类。

答案 1 :(得分:1)

嵌套类是一个类,它实际上是另一个类。不,在单独的文件中不可能有嵌套类,因为它不再是嵌套类,它只是另一个类。

答案 2 :(得分:0)

不,你不能把它们放在使用javac作为编译器的单独源文件中。