为什么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();}
}
答案 0 :(得分:13)
根据java语言规范,文件(.java)中只能有一个公共类,文件名应与公共类名相同。
如果您希望在其他计划中访问B类,您可以创建一个单独的B.java文件并将B类代码移动到该文件。
此thread可能会为您提供更多信息。
答案 1 :(得分:8)
问。为什么不能在java的一个类范围内定义两个公共类?
A。就像语言的设计方式一样。一旦你习惯了它,你会发现它可以帮助你组织代码。
问。为什么B类无法公开?
A。可以,但必须在名为B.java的文件中。它必须是该文件中唯一的公共类。
问。如何在其他课程中使用课程?
A。您可能想要重新解释这个问题。但有多种方法:
问。在Cons?中定义它是否更好?
A。我个人并不经常这样做。我发现它使代码变得有点混乱,尽管上面的链接说不然。
答案 2 :(得分:1)
将您的课程放在不同的文件中。
类的名称应与文件名匹配。