我们来了:
public class Parent {
public Parent(String name) {
this.name = name;
}
public String name = null;
}
public class Child extends Parent {
public Child(String name) {
super(name); // If I comment this : Implicit super constructor Parent() is undefined. Must explicitly invoke another constructor
}
}
据说“如果你不自己调用超级构造函数,编译器会为你插入一个对 super() 的无参数调用,作为构造函数中的第一条语句。”
- 这对于带参数的构造函数也是如此吗?
- 编译器是否不能使用与子构造函数相同的签名调用参数化的超级构造函数?
- 为什么它被设计成这样?