帮忙看看这个Java程序

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:37:54
1. class super {
2. public float getNum() {return 3.0f;}
3. }
4. public class Sub extends Super {
5.
6. }
下列方法( )写入上述代码第5 行,将出现编译错误。
A. public float getNum() {return 4.0f; }
B. public void getNum () { }
C. public void getNum (double d) { }
D. public double getNum (float d) {retrun 4.0f; }

谢谢!详细解析

B. public void getNum () { }
参数类型一致,返回类型不同
导致编译错误!

Super obj = new Sub();
obj.getNum () ;//返回什么类型???
这里就会出现预期的错误

选B

A 是覆盖

C 是重载 因为他参数不一样

D 同C

B 是想覆盖 但是返回值和超类不一样

我 怎么看都没什么错误。。。。。。