class Base {
int value = 0;
Base() {
add();
}
void add() {
value += 10;
}
int get() {
return value;
}
}
class Derived extends Base {
Derived() {
add();
}
void add() {
value += 20;
}
}
При вызове конструктора производного класса, а затем add()
, значение становится 40. Почему?Java-Overloading and Overriding Concept
из конструктора базового класса, как метод из производного класса вызывается, почему бы не метод базового класса ... – Yogendra123
@ Yogendra123 - Потому что это то, как работают основные работы! Все вызовы метода в классе >> и в его суперклассах << становятся вызовами метода переопределения. Единственными исключениями являются призывы к супер. '(например,' super.add') или частные методы с той же сигнатурой, которые никогда не переопределяются. –