works:programmer:java:super-super-method

Как использовать метод 2го прородителя (super.super.method(x))

Взято с просторов StackOverflow.

interface I { int x = 0; }
class T1 implements I { int x = 1; }
class T2 extends T1 { int x = 2; }
class T3 extends T2 {
        int x = 3;
        void test() {
                System.out.println("x=\t\t"          + x);
                System.out.println("super.x=\t\t"    + super.x);
                System.out.println("((T2)this).x=\t" + ((T2)this).x);
                System.out.println("((T1)this).x=\t" + ((T1)this).x);
                System.out.println("((I)this).x=\t"  + ((I)this).x);
        }
}
 
class Test {
        public static void main(String[] args) {
                new T3().test();
        }
}
x=              3
super.x=        2
((T2)this).x=   2
((T1)this).x=   1
((I)this).x=    0
works/programmer/java/super-super-method.txt · Last modified: 2021/07/21 11:20 by Chugreev Eugene