//Filename: A.java
package packageA;
public class A {
protected int x;
}
//Filename B.java
package packageB;
import packageA.A;
public class B extends A {
void action(A ob1, B ob2, C ob3) {
x = 10;
ob1.x = 10; // <-- error here
ob2.x = 10;
ob3.x = 10;
}
public class C extends B {
void action(A ob1, B ob2, C ob3) {
x = 10;
ob1.x = 10; // <-- error here
ob2.x = 10; // <-- error here
ob3.x = 10;
}
Итак, я читал защищенное использование в Java и наткнулся на эту проблему. A.java
и B.java
являются отдельными файлами и хранятся в отдельных пакетах, как вы можете видеть. При компиляции B.java
я получаю 3 ОШИБКА, что x
имеет защищенный доступ в A
. Может кто-нибудь объяснить, почему я получаю ошибку даже после расширения класса A
?Ошибка при доступе к защищенным членом
Спасибо, что решил. – fireboy91