コンストラクターのオーバーライドと非常に混同しています。コンストラクターをオーバーライドできないのは、グーグルで検索したときに得られる結果です私の質問は
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()
サブクラスのテストメソッドが実行されることに注意してください。スーパークラスのコンストラクターがオーバーライドされていることを示していますか。それは正しいですか?