为什么Java一个源文件中只能有一个 public 类
时间: 2023-09-08 10:07:31 浏览: 98
Java中一个源文件只能有一个public类是因为Java编译器在将Java源代码编译成字节码时,每个public类都会生成一个单独的字节码文件,而一个源文件只能生成一个字节码文件。因此,为了避免生成多个字节码文件,Java规定每个源文件只能有一个public类。当然,一个源文件中可以有多个非public类,这些非public类可以被同一个包中的其他类访问。
相关问题
java源文件中的主类必须是public类吗
是的,Java源文件中的主类必须是public类。在Java中,每个源文件只能有一个public类,并且该类的名称必须与文件名相同。这意味着如果您要在一个文件中定义多个类,则只能有一个public类,并且该类必须与文件名相同。如果没有public类,则该文件可以包含任意数量的非public类。但是,只有public类可以在其他包中使用。因此,如果您的应用程序需要从其他包中访问您的类,则必须将该类定义为public类。
为什么一个java文件里只能有一个public
Java规定每个Java源文件中只能有一个public类或接口,并且这个类或接口的名称必须和文件名相同。这是因为Java编译器在编译时会生成一个.class文件,这个文件名和public类或接口的名称相同。如果一个Java源文件中有多个public类或接口,那么编译器就不知道生成的.class文件应该使用哪个名称,这会导致编译错误。因此,Java规定每个Java源文件只能有一个public类或接口,这样可以保证编译器能够正确生成.class文件并且程序能够正确编译。
阅读全文