Java中main()方法为什么采用这个方法签名

时间:2020-12-02 21:24:44

(1)public修饰符:java类有JVM调用,为了让JVM可以*调用这个main()方法,所以使用public修饰符把这个方法暴露出来。

(2)static修饰符:JVM调用这个主方法时,不会先创建该主类的对象,然后通过对象来调用该主方法,JVM直接通过该类来调用主方法,因此使用static修饰该主方法。

(3)void返回值:因为主方法被JVM调用,该方法的返回值将返回给JVM,这没有任何意义,因此main()方法没有返回值。

      上面方法中还包括一个字符串数组形参,根据方法调用规则:谁调用方法,谁负责为形参赋值。也就是说,main()方法由JVM调用,即args形参应该由JVM负责赋值。但JVM怎么知道如何为args数组赋值呢?

看下面程序代码:

public class ArgsTest {
 public static void main(String[] args) {
	
	 System.out.println(args.length);
	 for(String arg:args){
		 System.out.println(arg);
	 }
  }
}
上面程序运行输出一个0,这表明args数组是一个长度为0的数组——这是合理的。