帮忙看看这个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; }
谢谢!详细解析
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 是想覆盖 但是返回值和超类不一样
我 怎么看都没什么错误。。。。。。