我一直在使用Eclipse Juno学习继承中的构造函数。
当我在子类中按两次ctrl+O时,它会显示继承成员。但是我看到甚至包括超类的构造函数在内的继承成员。
但是据说构造函数不是继承的......
有人能解释一下这种行为吗?
我一直在使用Eclipse Juno学习继承中的构造函数。
当我在子类中按两次ctrl+O时,它会显示继承成员。但是我看到甚至包括超类的构造函数在内的继承成员。
但是据说构造函数不是继承的......
有人能解释一下这种行为吗?
与字段、方法和嵌套类不同,构造函数不是类成员。
子类继承其超类的所有成员(字段、方法和嵌套类)。构造函数不是成员,因此它们不会被子类继承,但可以从子类调用超类的构造函数。
public class MyException extends RuntimeException {
public MyException(String message) {
super(message); // invokes RuntimeException(String) constructor
}
}
super(...)
或this(...)
构造函数调用必须出现在构造函数中的第一条语句。如果两者都没有指定,则隐式地假定为super()
,它将链接到超类的默认构造函数。(如果超类没有默认构造函数,则编译将失败。)