Пусть у меня есть код, как показано ниже:Доступ косвенную супер переменной класса, которая была скрыта в третьем расширенном классе
class A {
int a = 1;
}
class B extends A {
int a = 2;
}
class C extends B {
int a = 3;
void print_it() {
int a = 4; // Local variable "a" to the " print_it " method
System.out.println(a); //Should be 4
System.out.println(this.a); //Should be 3
System.out.println(super.a); //Should be 2
System.out.println("HOW DO I PRINT \" a \" OF THE \" CLASS A \" "); //I need to print 1
}
public static void main(String[] argue) {
C obj = new C();
obj.print_it();
}
}
Как я могу получить доступ к «а» в «класса А» косвенно унаследована «класс Я знаю, что могу создать объект класса «А», я также знаю, что могу создать метод в «классе B», чтобы вернуть «super.a» («a» переменную «class A») конечно, если бы он был статичным, я мог бы получить доступ к нему, как «Aa».
Если есть какой-либо другой способ доступа к нему, я просто прошу просветить меня.
(спасибо заранее).
я, возможно, стоит отметить, что это работает только с переменными, а не с методами. – ParkerHalo