为什么一个文件不能有一个以上的公共类?


public class A
{
}  
public class B 
{
    public static void main(String[] args) 
    {
    }
}

为什么不能将两个类都声明为public?
为什么只有Main类可以公开?我知道通过将class设为public,它将允许您访问包ok,但是如果我将

设为public呢?
     public    class a
     { 
     }
    class B
     {
    public static void main(String[] args) 
    {
     }
  }

为什么这个代码给出错误我们真的需要通知主类是公共的吗?因为每个类都是公共的

因为一个.java文件只能包含一个公共类。

如果你想要这两个类是公共的,他们必须放在两个。java文件:A.javaB.java

来自JLS 7.6。顶层类型声明:

这个限制意味着每个编译单元最多只能有一个这样的类型。这个限制使得Java编译器很容易在包中找到一个命名的类。在实践中,许多程序员选择将每个类或接口类型放在自己的编译单元中,不管它是否是公共的,或者是否被其他编译单元中的代码引用。

Java类的文件名是公共类的名称。你不能有两个文件名,因此你不能有两个公共类

相关内容

最新更新