Java规定了main()方法必须是公共的,以便于外部程序对主方法的访问,因为程序都是从main()方法起始的,并且main()方法也必须是静态的。 首先,为什么要用public: 因为在运行程序时,jvm要调用main方法,但我们都应该知道jvm是一个软件并不是硬件,并且它与main方法所在的包是不同的,所以jvm要调用main方法时,main方法就必须声明为public;否则jvm就无法找到和调用main方法,此时程序就无法运行。
第二,为什么要用static:
因为如果不适用static,就只能创造一个实例去调用main方法,但是jvm并不知道如何去创造一个实例,而你要创造一个实例时,必须要在main方法里头使用new这个关键字,但此时jvm无法调用main方法,所以就无法创造一个实例去调用main方法,所以main方法必须声明为static。很大程度上这是为了安全性的考虑。因为用static修饰的方法或变量是在编译时运行或分配空间的,main用static修饰后,程序就能自动找到程序的main的入口。 第三,为什么要用void: main方法根本就不需要返回值; 如果你返回了值,也不能看到,那此时jvm也不知道拿这个返回值来干什么,所以就用void。
|