在o1.OverLoad(new Object[] { "frist Array","second Array","third Array"  }); 
中,OverLoad是构造函数,不是方法,不能这样调用

解决方案 »

  1.   

    public class ArrayObj{
       public static void main(String[] args){
       
          OverLoad ol=new OverLoad(new Object[] { "frist Array","second Array","third Array"  });
      }
    }
    这样就可以了。
      

  2.   

    bw78619说的对,OverLoad()和OverLoad(Object[] o)都是类的构造函数.构造函数的作用就是来创建着个类的一个对象.你已经掉用OverLoad()生成一个对象了,再掉用OverLoad(Object[] o)肯定会出错的,o1  variable 表示这个对象已经被创建了,你再调用OverLoad(Object[] o)就是非法操作了.
    你可以把OverLoad(Object[] o)改名,或者在main函数里这么写OverLoad ol=new OverLoad(new Object[] { "frist Array","second Array","third Array"  }); 
      

  3.   

    什么啊,ol variable表示这个变量有问题啊,搂主查查是不是两个ol写的不一样
    btw: void OverLoad()不是constructor吧?构造器不能有返回值的
      

  4.   

    不行呀
    zkjbeyond(jigi) public class ArrayObj{
       public static void main(String[] args){
       
          OverLoad ol=new OverLoad(new Object[] { "frist Array","second Array","third Array"  });
      }
    }编译还是过不去,提示:contractor OverLoad(java.lang.Object[])
      指向 new 的位置说:cannot resolve symbol请大家在帮忙看看,谢了
    <-----仁者见仁,智者见智----〉
      

  5.   

    class OverLoad{ void OverLoad(Object[] o){               
       for(int i=0;i<o.length;i++)
            System.out.println("this a ObjectArray :"+o[i]);
     }

    public class ArrayObj{
       public static void main(String[] args){
       
          OverLoad ol=new OverLoadOverLoad(new Object[] { "frist  Array","secondArray","third Array"  });       
      }
     
    }
    兄弟,这样看看可以吗
      

  6.   

    谢谢各位,可就是报错
    楼上的这位大哥   可是!
    编译还是过不去,提示:contractor OverLoad(java.lang.Object[])
      指向 new 的位置说:cannot resolve symbol
    <-----仁者见仁,智者见智----〉
      

  7.   

    public class ArrayObj{
       public static void main(String[] args){
          Object[] obj=new Object[] { "frist Array","second Array","third Array"  }
          OverLoad ol=new OverLoad(obj);
      }
    }
    这样
      

  8.   

    Object[] obj=new Object[] { "frist Array","second Array","third Array"  };
    加;啊 sorry!!
      

  9.   

    完了,怎么就老报错呢?
    还是不行!应该跟构造函数有关系,就在构造函数那行过不去,指向new !
    OverLoad ol=new OverLoad(obj);
    <-----仁者见仁,智者见智----〉
      

  10.   

    解决了
    感谢各位
    但程序我又改了,见下(列位上眼呐!)
    class OverLoad{ void OverLoad1(Object[] o){               
       for(int i=0;i<o.length;i++)
            System.out.println("this a ObjectArray :"+o[i]);
     }

    public class ArrayObj{
       public static void main(String[] args){
         
          Object[] obj=new Object[] { "frist  Array","second Array","third Array"  };       
          OverLoad o1=new OverLoad();
          o1.OverLoad1(obj);
     }
     
    }
    有什么高见吗?
    谢谢讨论,这根构造函数有关!
    <-----仁者见仁,智者见智-----》
      

  11.   

    按理说
    1、上面的OverLoad o1=new OverLoad();
    应该报错,因为我就没有构造函数!
    2、在一楼的程序中调用构造函数创建一对象,为什么说创建的对象无效?
    3、: d992901(沉思) 和bw78619   说的
    OverLoad()和OverLoad(Object[] o)都是类的构造函数这对,可我是重载了的呀,应该能自动区分来的呀??
    上述不解,有人愿意解释吗,谢了,我没太多得分给各位了,抱歉(都说知识是无价的,感谢了)
    《-----仁者见仁,智者见智----〉
      

  12.   

    本来OverLoad()和OverLoad(Object[] o)都是构造函数的
    但是void OverLoad()及ovid OverLoad(Object[] o)就不是constructor
    而是method!
      

  13.   

    class OverLoad {
     OverLoad(){};
         OverLoad(Object[] o){               
        for(int i=0;i<o.length;i++)
            System.out.println("this a ObjectArray :"+o[i]);
     }
    }public class ArrayObj{
       public static void main(String[] args){
       
           OverLoad o1=new OverLoad(new Object[] {"frist Array","second Array","third Array"}); 
      }
     
    }
     
      

  14.   

    Object[] obj=new Object[] { "frist  Array","second Array","third Array"  };       
    OverLoad o1=new OverLoad();//这是调用constructor
    o1.OverLoad1(obj);//这是调用method