解析public static void main(String[] args){}
该方法是java程序的入口,JVM在运行的时候,会先查找main()方法,其中public是权限修饰符,表明任何类和对象都能对该方法进行访问。static表示该方法是一个静态方法,即该方法是存储在静态存储区的。只要类被加载之后,就可以使用该方法而不用实例化对象来访问,直接用类名.main()来访问。JVM在启动时是按照上述方法的签名来查找方法的入口地址,若能找到,就执行,不能找到,就会报错。字符串数组是参数args是为开发人员在命令行状态下与程序交互提供的一种手段。
因为main()是程序的入口方法,在执行main方法时,程序还没有任何对象。通常来讲,要执行一个main方法必须要实例化一个类,然后通过该对象来调用该方法。因为main是入口方法,此时还没有实例化对象,因此只能将main()方法定义为public static的了。
main方法还有其他的定义方式:
public static 并没有先后顺序 因此可以定义为static public void main(String[] args){};
还可以把main方法定义为final方法 public static final void main(String[] args){};
也可以用Synchronized来修饰main方法 public static Synchronized void main(String[] args){};
注意:main方法不能用abstract来修饰。