形式上args不是可变参数,实质是一个字符串数组,但实质上字符串数组的长度是由用户执行java文件指定的,类似可变参数,给你举个例子public class ArgsDemo { public static void main(String[] args) { System.out.println("args:"+ Arrays.toString(args)); } }编译这个文件之后,运行的时候不是java ArgsDemo而是java ArgsDemo a b c 这个时候就能发现输出args:[a, b, c],也就是后面多的a b c自动存入了args里面
main是JVM在运行的时候自动找到的
java -jar XXX.jar dsda asdfa dads dafXXX 或 XXX.jar 后的输入会被jre处理成 main的参数 args
public static void main(String[] args) {
System.out.println("args:"+ Arrays.toString(args));
}
}编译这个文件之后,运行的时候不是java ArgsDemo而是java ArgsDemo a b c
这个时候就能发现输出args:[a, b, c],也就是后面多的a b c自动存入了args里面