У меня возникает вопрос, почему этот фрагмент кода при его исполнении выводит значение 0. Я не совсем понимаю, что происходит в конструкторе SubClass, и почему это происходит, когда я стереть переопределенный метод implicitValue, он выводит 10. Создает ли конструктор SubClass конструктор SuperClass? Спасибо.Наследованный член-конструктор Java-подкласса
class SuperClass {
protected int superClassValue;
public SuperClass() {
superClassValue = implicitValue();
}
public int implicitValue() {
return 10;
}
public int getValue() {
return superClassValue;
}
}
class SubClass extends SuperClass {
private int subClassValue;
public SubClass() {
subClassValue = 20;
}
public int implicitValue() {
return subClassValue;
}
}
class Example {
public static void main(String argv[]) {
SubClass ss = new SubClass();
System.out.println("The value is " + ss.getValue());
}
}