В приведенном ниже коде объект дочернего класса вызывает свой метод getBankName (), но вместо этого вызывается частный метод getBankName () родительского класса.
public class Bank {
private void getBankName() {
System.out.println("Bank");
}
public static void main(String[] args) {
Bank bank = new MyBank();
bank.getBankName();
}
}
class MyBank extends Bank {
public void getBankName() {
System.out.println("MyBank");
}
}
Кроме того, если я изменю спецификатор доступа родительского метода на publi c, тогда он работает нормально (дочерний объект вызывает свой собственный метод и печатает MyBank). Почему на вызов влияет только спецификатор доступа родительского метода ??