关于java的主函数public static void main(String[] args)
我们都已经非常熟悉,它是每一个java程序的入口函数。那么它为什么是这种形式呢?下面是我的一些理解。
- public:访问权限最高。
- static:静态,表示加载类的时候主函数就已经存在了。
- void:表示主函数不返回任何值。
- main:不是关键字,但是一个特殊单词,能被虚拟机所识别。
- String[] args:表示主函数所带的参数为数组,数组名为args,数组名也可以为其他的名字,都不会造成影响。
从jvm的角度解读:当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。
由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要是限制为public static。
对于java中的main方法,jvm有限制,不能有返回值,因此返回值类型为void。
main方法中还有一个输入参数,类型为String[],这个也是java的规范,main()方法中必须有一个入参,类细必须String[] ,至于字符串数组的名字,这个是可以自己设定的,根据习惯,这个字符串数组的名字一般和sun java规范范例中mian参数名保持一致,取名为args。
因此,main()方法定义必须是:“public static void main(String [] args) ”。