我试图编写一个包含1个以上公共类的Java程序,它给了我以下错误:
Class [classname] is public,should be declared in a separate file named
[classname].java
似乎无法找到令人信服的答案,为何会发生这种情况。
答案 0 :(得分:3)
您不能在一个.java
文件中声明多个公共类。将您的班级分隔为不同的.java
个文件。
<强> Class1.java 强>
public class Class1 {
}
<强> Class2.java 强>
public class Class2 {
}
此限制意味着每个最多必须有一个这样的类型 编译单位。这种限制使编译器易于使用 Java编程语言或Java虚拟实现 机器在包中找到一个命名类;例如, 公共类型wet.sprocket.Toad的源代码可以在一个 文件Toad.java在目录wet / sprocket中,并对应 对象代码可以在文件Toad.class中找到 。目录
答案 1 :(得分:2)
每个公共类必须在它自己的.java源文件中声明。
答案 2 :(得分:1)
类名与文件名相同。如果文件中有多个类,则会产生导致错误的冲突。因此,每个类应该在一个单独的文件中,文件名与类名相同。