public static void mian(string[] args)是java程序的入口方法,jvm在运行程序时,会首先查找main方法。其中public是权限修饰符,代表任何类任何对象都可以访问这个方法。static表面main方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法而不用实例化对象来访问。jvm启动就是按照上述方法的签名(必须有public和static修饰符,public和static顺序不关,返回值void,且方法参数为字符数组)来查找入口地址的,如果找不到就会报错。
main方法还有其他的方式定义:
1、由于public与static的先后顺序无关,因此可以定义成下列形式:
static public void main(String args[])
2、也可以用final来修饰
public static final void main(String args[])
3、也可以用synchronized来修饰
static public synchronized void main(String args[])
但是不能用abstract来修饰。
同一个java文件中可以存在多个main()方法,但是只有与文件名相同的用public修饰类中main方法才能作为整个程序的入口。