class Super {
public Integer getLenght() { return new Integer(4); }
}
public class Sub extends Super {
public Long GetLenght() { return new Long(5); }
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(
sooper.getLenght().toString() + "," +
sub.getLenght().toString() );
}
}
运行结果为什么是
4,4
不知这道java题怎么个解法?
答案:3 悬赏:40 手机版
解决时间 2021-03-15 14:35
- 提问者网友:我的未来我做主
- 2021-03-14 19:13
最佳答案
- 五星知识达人网友:迟山
- 2021-03-14 19:44
Super没有默认构造函数,Super(),当Sub继承了Super并利用new Sub()创建对象后,默认会调用父类Super的构造函数Super(),但是Super没有默认构造函数Super(),所以编译该程序会产生错误。
全部回答
- 1楼网友:上分大魔王
- 2021-03-14 20:59
getLenght() 和GetLenght() 是两个函数,不是函数重写!!
所以两次都用父类的getLenght()函数,也就都是4了
- 2楼网友:毛毛
- 2021-03-14 20:16
Super没有默认构造函数,Super(),当Sub继承了Super并利用new Sub()创建对象后,默认会调用父类Super的构造函数Super(),但是Super没有默认构造函数Super(),所以编译该程序会产生错误。
再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯