我对重写构造函数感到非常困惑。构造函数不能被覆盖是我在谷歌搜索时得到的结果我的问题是
public class constructorOverridden {
public static void main(String args[]) {
Sub sub = new Sub();
sub.test();
}
}
class Super {
Super() {
System.out.println("In Super constructor");
test();
}
void test() {
System.out.println("In Super.test()");
}
}
class Sub extends Super {
Sub() {
System.out.println("In Sub constructor");
}
void test() { // overrides test() in Super
System.out.println("In Sub.test()");
}
}
当我运行它时,我得到的结果为
In Super constructor
In Sub.test()
In Sub constructor
In Sub.test()
请注意子类中的测试方法已执行。是否表明超类构造函数已被覆盖。是否正确?