【发布时间】:2016-03-11 21:08:35
【问题描述】:
我知道在继承的情况下,如果超类中的默认构造函数丢失,子类构造函数应该显式调用超类构造函数
但是当链接到子类中的另一个构造函数时,为什么我们不必调用超类构造函数呢? 因为下面的代码没有给出编译错误
超类:
public class Top {
public Top(String n) {
// TODO Auto-generated constructor stub
}
子类:
public class sub extends Top {
public sub(int x){
super("");
}
public sub(String x) {
this(5);
}
}
【问题讨论】:
-
因为您正在链接到一个构造函数,该构造函数确实调用了超类构造函数。
-
@JonSkeet 所以不是每个构造函数都应该调用 superClass 构造函数...只是链接到另一个调用 superClass 的构造函数就足够了?
标签: java oop inheritance constructor