Почему не виден метод x.abc() в методе ghi() при наследовании, хотя у метода модификатор доступа protected (java)
Не понимаю, почему в методе ghi() при выполнении метода x.abc(), выдается ошибка 'abc()' has protected access in 'Lesson23.X.X2' хотя стоит модификатор protected, который при наследовании применяется и всё должно работать как надо. Не обращайте внимание на результат выполнения программы, просто интересен механизм работы java. Не понимаю логику работы java здесь, объясните, добрые люди
public class X2 {
protected void abc(){
System.out.println("X2");
}
}
public class Y2 extends X2 {
public void abc() {
System.out.println("y2");
}
public void ghi() {
X2 x = new Y2();
x.abc();
}
public static void main(String[] args) {
Y2 a = new Y2();
a.ghi();
}
}
Источник: Stack Overflow на русском