一个java文件中可包含多个main方法
java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法。但并不是说java中只能有一个main方法,不同类中都可以包含main方法。但是当JVM进行编译时,只会会选择接口类里面的main方法,作为编译的入口。
编写一个java源文件时,该源文件又称为编译单元。一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为【公共类名.java】。
当同一个源文件中包含两个public class时,JVM会立马报出错误
但java文件中可以不包含任何public公共类,但编译时JVM仍将与源文件名相同的类作为默认的接口。即便其他的类提供了main方法,JVM仍然无法编译。
补充:如果包含main函数的类,是默认类,同样可以编译。
当且仅当默认为接口的类中包含main方法时才能进行编译。
补充:
上面图片中的class前面没有修饰符,就是默认default的意思(不用把default写出来)。
意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多。
default(包访问权限):
如果类里的一个成员(包括成员变量、方法和构造器等)或者一个外部类不使用任何访问控制符修饰,就称它是包访问权限,default访问控制的成员或外部类可以被相同包下的其他类访问,但是在其他包中不能用import导入。
转载至https://www.cnblogs.com/huiAlex/p/6240764.html
有部分补充,如果有不对的地方,欢迎及时指正。