参见英文答案 > Why is each public class in a separate file? 12个
为什么B级不能公开?
我如何在其他课程中使用课程?在Cons内部定义它更好吗?!
// public class B { why not? class B { int x; B (int n) { x=n; System.out.println("constructor 'B (int n)' called!"); } } public class Cons { public static void main(String[] args) {B b = new B();} }
根据java语言规范,文件(.java)中只能有一个公共类,文件名应与公共类名相同.
如果您希望在其他placs中访问B类,您可以创建一个单独的B.java文件并将B类代码移动到该文件.
这 thread 可能会为您提供更多信息.
翻译自:https://stackoverflow.com/questions/13329012/why-cant-two-public-classes-be-defined-in-one-file-in-java