Я хочу рекурсивно вызвать метод на супер, для распространения вызова метода до последнего суперкласса. Этот псевдокод говорит, что я хочу сделать, но, конечно, это не компилируется в Java.
public MyClass {
protected void method() {
// do something on this level
if (super instanceof MyClass) {
MyClass superLevel = (MyClass) super;
superLevel.method();
}
}
}
Как можно добиться такого поведения?
if (this instance of MyClass)
но ИМХО, это выявляет недостаток дизайна: суперкласс не должен знать своих подклассов. - person Arnaud Denoyelle   schedule 27.08.2013super.method()
вызов на каждом уровне. Вы можете вызвать метод непосредственного суперкласса только с помощьюsuper
. - person Rohit Jain   schedule 27.08.2013