java中为什么main函数是public static
在java中,main()方法是java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void类型的,方法必须是接受一个字符串数组的参数等。 因为main()方法是由Java虚拟机调用的,所以必须是public,虚拟机调用的main()方法的时候,不需要产生任何对象,所以main()方法声明为static,且不需要返回值,所以必须声明为void,最终格式如下所示: public static void main(String[] args)
?
public class Demo
?{
???? public static void main(String[] args)
???? {
???????? System.out.println("打印main方法的输入参数");
???????? for(int i=0;i<args.length;i++){
???????????? System.out.println(args[i]);
???????? }
???? }
?}
?
现在对上面的程序做一个简单的解释,Demo类中有main()方法,说明这是个Java应用程序,通过JVM直接启动运行的程序。main()方法中有一个输入参数,类型为String[],这个也是java中的规范,至于字符串的名字,这个可以自己设定,根据习惯,这个字符串数组的名字一般和Sun Java规范范例中的main()的参数名保持一致,取名为args。而且main()方法不准抛出异常,因此main()方法中的异常要么不处理,要么不处理,不能继续抛出。
?
main()方法中的字符串参数数组的作用是结婚搜命令行输入参数,命令行的参数之间用空格隔开。下面为上述程序段运行结果:
?
摘自 xt_chaoji的专栏