标题: Java经典面试题 [打印本页] 作者: 18895700133 时间: 2016-5-5 18:04 标题: Java经典面试题 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
A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下:
Sub.java:6: Sub 中的 getNum() 无法覆盖 Super 中的 getNum();正在尝试使用不
兼容的返回类型
找到: void
需要: float
public void getNum(){}
^
1 错误