package run;public class run1 {
public static void main(String[] args) {
System.out.println(args);
}
}--------------------------------------------------package run;public class run2 {
public static void main(String[] args) {
run1 run = new run1();
run.main("111");
}
}什么run.main报错啊
public static void main(String[] args) {
System.out.println(args);
}
}--------------------------------------------------package run;public class run2 {
public static void main(String[] args) {
run1 run = new run1();
run.main("111");
}
}什么run.main报错啊
明明是参数的问题,main方法的参数是String[],而不是String。
所以正确答案是String[] tmp={"111"};
run1.main(tmp);
参数是数组,你传了个字符串
要么就把main的签名改成:public static void main(String... args) 这就可以传字符串了
比如main("1","2");
main("1","2","34");
main("1","2","45","a");都可以
而实际传给args的仍然是String数组,方法内用的时候仍然当成String[] args使用
//run1 run = new run1();
//run.main("111");
run1.main(new String[]{"111"}); //注意参数类型,是String[],而不是String
}
这叫可变长参数
调用时,该参数可以是一个字符串,也可以是两个字符串,也可以是任意个字符串
这种可变长参数,只能出现在方法参数列表的最后一个位置
就是
main("111");
main("111", "222");
main("111", "222", 333);
等等,都可以
而你在run2中调用,传递的是一个String。把你的参数放到数组里就可以了。
public static void main(String[] args)
最大的差别是String...可以为空,main()是对的
String[] 不可为空,main()是错的,括号里必须有参数
其他用法这两个都一样
这个main 运行的时候调用另一个main 是做什么应用的
main 是程序的主入口. 运行这个程序的时候在嵌另一个程序运行 这个是什么应用?
谢谢解答 .....