Переопределяющие конструкторы
Я сильно запутался с Overriding Constructors. Конструктор не может быть переопределен, это результат, который я получаю, когда я искал его в Google, мой вопрос
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()
Пожалуйста, обратите внимание, что метод теста в подклассе выполняется. Это показывает, что конструктор Superclass переопределен. Правильно ли это?