2. 1) class Super{ 
2) public float getNum(){return 3.0f;} 
3) } 
4) 
5) public class Sub extends Super{ 
6) 
7) } 
which method, placed at line 6, will cause a compiler error? 
A. public float getNum(){return 4.0f;} 
B. public void getNum(){} 
C. public void getNum(double d){} 
D. public double getNum(float d){return 4.0d;} 
Answer:B 为什么选它啊

解决方案 »

  1.   

    A. public float getNum(){return 4.0f;} //重写
    B. public void getNum(){} //错误 方法名与父类同 ,而且参数相同,但返回类型不同是不行的
    C. public void getNum(double d){}//重载 
    D. public double getNum(float d){return 4.0d;} ///重载
      

  2.   

    因为B选项 方法没有参数 那就是相当于对于对父类方法的重写 但是父类该方法返回值类型为float但是 B的是void 返回值类型不一致
      

  3.   

    tt2451() ( ) 信誉:100    Blog   加为好友 
    说的很清楚了