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报错啊  

解决方案 »

  1.   

    main是static的,你直接用run1.main("111")就行了
      

  2.   

    简直就是乱说!!!
    明明是参数的问题,main方法的参数是String[],而不是String。
    所以正确答案是String[] tmp={"111"};
    run1.main(tmp);
      

  3.   

    main(String[] args) 
    参数是数组,你传了个字符串
      

  4.   


    要么就把main的签名改成:public static void main(String... args) 这就可以传字符串了
      

  5.   

    对对  可以调用main 不过一般很少这么用吧 高手吗
      

  6.   

    public static void main(String... args)  楼上数组String[] args写成 String... args三个点啥意思啊  从没见过这么写的啊 
      

  7.   

    这个就是可变参数,就是说可以传任意个String进去
    比如main("1","2");
    main("1","2","34");
    main("1","2","45","a");都可以
    而实际传给args的仍然是String数组,方法内用的时候仍然当成String[] args使用
      

  8.   

    public static void main(String[] args) {
        //run1 run = new run1();
        //run.main("111");
        run1.main(new String[]{"111"}); //注意参数类型,是String[],而不是String
    }
      

  9.   


    这叫可变长参数
    调用时,该参数可以是一个字符串,也可以是两个字符串,也可以是任意个字符串
    这种可变长参数,只能出现在方法参数列表的最后一个位置
    就是 
    main("111");
    main("111", "222");
    main("111", "222", 333);
    等等,都可以
      

  10.   

    run1中的main方法参数为String数组,
    而你在run2中调用,传递的是一个String。把你的参数放到数组里就可以了。
      

  11.   

    而且static方法是从属于类的,你不用实例化,通过类名就可以调用了
      

  12.   

    public static void main(String... args)
    public static void main(String[] args)
    最大的差别是String...可以为空,main()是对的
                String[] 不可为空,main()是错的,括号里必须有参数
    其他用法这两个都一样
      

  13.   

     有个疑问 .  先不纠结怎么调用方法 传什么参数 
        这个main 运行的时候调用另一个main 是做什么应用的 
           main 是程序的主入口. 运行这个程序的时候在嵌另一个程序运行 这个是什么应用?
      谢谢解答 .....
      

  14.   

    搞java几年了,第一次见,见识了。