java中main方法形参String[] args 有什么作用?

时间:2022-06-28 21:25:25
    比如publib static void main(String[] args){

}
参数args有什么作用,是数组吗?还是可变参数?mian方法是JVM在调用吗?类加载时具体怎么处理?

4 个解决方案

#1


args 就是一个数组名,可以从命令行中敲一些参数传进去
main是JVM在运行的时候自动找到的

#2


就是 java XXX dsda asdfa dads daf
java -jar XXX.jar dsda asdfa dads daf

XXX 或 XXX.jar 后的输入会被jre处理成 main的参数 args

#3


入口函数的设计如此

#4


形式上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里面

#1


args 就是一个数组名,可以从命令行中敲一些参数传进去
main是JVM在运行的时候自动找到的

#2


就是 java XXX dsda asdfa dads daf
java -jar XXX.jar dsda asdfa dads daf

XXX 或 XXX.jar 后的输入会被jre处理成 main的参数 args

#3


入口函数的设计如此

#4


形式上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里面