![]() |
1
2
作为对将多个类打包到一个文件中的评论的回应:与.NET不同,大多数java实现在公共类类型的名称和声明类类型的文件的名称之间强制执行严格的关联。这不是一个硬性要求,但在没有强制执行相关性的系统中没有使用。JLS公司- 7.6 Top Level Type Declarations 他说:
看看这个问题: multiple class declarations in one file
如果您希望创建一个命名空间来封闭相关的类,那么使用静态内部类就是您所需要的。静态声明并不意味着一个instance-它们仍然可以实例化-
|
![]() |
2
19
你定义的方式
通常在Java中,当
应该编译如下内容:
但是,如果
有一个嵌套类(您发布的)和一个静态嵌套类(一个
|
![]() |
3
4
编辑
|
![]() |
4
0
是的,非静态嵌套类可以访问外部类实例成员,因此必须为外部类的实例创建。所以你有两个选择:
在实践中,我很少创建内部类的实例,除了在外部类的方法中,我也很少使这些类可变——但这只是我自己。 |