Given:  1. public class ConstOver {  2. public ConstOver (int x, int y, int z) {  3. }  4. }  Which two overload the ConstOver constructor? (Choose Two)  A. ConstOver ( ) { }  B. Protected int ConstOver ( ) { }  C. Private ConstOver (int z, int y, byte x) { }  D. Public Object ConstOver (int x, int y, int z) { }  E. Public void ConstOver (byte x, byte y, byte z) { }   答案: A, C
     A正确,没疑问      C,怎么会正确?

解决方案 »

  1.   

    楼主说的没错A肯定是正确的,我感觉C也是正确的,因为从理论上讲:方法名相同而传递的参数不同就构成方法重载,上面两个答案只是访问权限不同,所以我感觉C答案是正确的,我是这样认为的.
      

  2.   

    参数不同就行~ 原来的是int,int,int,C是int,int,byte 当然构成overload了
      

  3.   

    overload的条件:
    方法名相同,参数表不同.
      

  4.   

    楼上的朋友分析的有道理,关键是int 和 byte 在运行时jvm怎么能区分调用哪个呢,比如传个1求解?
      

  5.   

    我倒。好像你们把意思完全理解错误了吧?? 所谓的重载就是参数的类型或者个数不一样。
    A 就是参数的个数不一样而C 就是参数的类型不一样 。   所以A, C 当然可以构成重载了啊 很基础的问题啊
      

  6.   

    重载就方法名一样,参数个数不相同,或者参数的类型不相同就行
    编译怎么个不通过的了呢?应该能过的
    你是不是在创建一个新的关于C答案的一个对象呀,那是私有的,外面是不能new的呀
      

  7.   

    C正确的,虽然是private,但是可以在该类的内部,创建该类的对象,单例模式就是这样做的
      

  8.   


    楼上几位朋友辛苦:
    我仍然不能编译,源代码如下(jdk1.6)
    1.public class ConstOver{
    2.  public ConstOver (int x, int y, int z){}
    3.  ConstOver(){}
    4.       private ConstOver(int z, int y,byte z){}
    5.}-----编译时,第4行前面出现错误,提示如下, 各位高人可在自己电脑中试试以上代码
    Multiple ers at this line
    - Duplicate parameter z 
    - Syntax error, insert "}" to complete MethodBody
    - Syntax error, insert "}" to complete ClassBody
      

  9.   

    C答案中的构造方法是private修饰符,就是说你不能在该类的作用域之外使用c答案的构造方法来创建对象,这时不正确的。
      

  10.   

     Duplicate parameter z 
      private ConstOver(int z, int y,byte z){} 
    你的参数两个Z
      

  11.   

    纠正一下, 上面的第4行为:
      4.      private ConstOver(int x, int y,byte z){} 
      

  12.   

    怪事也常有,今天特别多我的源码如下,有注释的:
    public class ConstOver{
     public ConstOver (int x, int y, int z){}
     ConstOver(){}
     private ConstOver(int x, int y, byte z){}
     //Public Object ConstOver (int x, int y, int z){}
     //Public void ConstOver (byte x, byte y, byte z){}
    }把注释去掉就可
    而带上注释反而不成,这是为何?