This question already has answers here:
Java: Multiple class declarations in one file
(9个答案)
3年前关闭。
在旧版应用程序的代码中,我遇到了一个包含内部类的类文件,但是这些内部类不是在类主体中定义的,而是在类定义的右括号之后。
看起来像这样:
显然,编译器不会抱怨,但是我很生气,因为我以前从未见过这样的东西。
这是有效的内部类吗?
主体中定义的类有什么区别(除了缩进)?
(9个答案)
3年前关闭。
在旧版应用程序的代码中,我遇到了一个包含内部类的类文件,但是这些内部类不是在类主体中定义的,而是在类定义的右括号之后。
看起来像这样:
MyClass.java
public class MyClass {
// class body
}
class DataStructure1 {
String field1;
Integer field2;
}
class DataStructure2 {
Date field3;
String field4;
}
显然,编译器不会抱怨,但是我很生气,因为我以前从未见过这样的东西。
这是有效的内部类吗?
主体中定义的类有什么区别(除了缩进)?
最佳答案
据我所知,这些根本不是内部类,而是恰好在同一源文件中的另外两个包私有类。在给定的.java
文件中具有多个类定义是完全可以接受的。
顾名思义,内部类必须在包含外部类的内部定义。这里情况不同。
关于java - 内部类(class)在类(class)文件中,但不在类(class)正文中? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39449922/
10-16 06:20