你的程序我没运行 但是可以这么写,原因是main()函数 声明的是 static 类型 在加载这个类的时候同时加载 static 的块,在你new MenuDemo() 并不加载 和static 有关的 main()
class AA
{
static
{
System.out.println("this is AA");
}
public static void main(String [] agr){
System.out.println("加载成功");
new AA();
new AA();
}
}
运行结果:
this is AA
加载成功
在你new AA是 并不加载 static模块
不会,只要不是执行的这一个类就不会执行main函数,一个java工程中可以随便多少个类中有main函数。主要看你执行的是哪一个类的main函数。
程序运行时,jvm会先去找main函数。它不会去调用MenuDemo类,而是直接去执行main函数,因为static是全局变量,他是最先被定义的。
一个类文件中可以存在多个类,但只能有一个public类,也只能有个main方法
d5678d