Возможный дубликат:
Почему супер .super.method(); не разрешено в Java?
У меня есть 3 класса, которые они наследуют друг от друга следующим образом:
A
↳
B
↳
C
Внутри каждого класса у меня есть следующий метод:
protected void foo() {
...
}
Внутри класса C
Я хочу вызвать foo
из класса A
без вызова foo
в B
:
protected void foo() {
// This doesn't work, I get the following compile time error:
// Constructor call must be the first statement in a constructor
super().super().foo();
}
ИЗМЕНИТЬ
Контекстная информация:
Класс B - это фактический класс, который мы используем. Класс C является классом unit test, он имеет некоторые модификации. foo
метод внутри B
делает некоторые вещи, которые нам не нужны, поэтому мы переопределяем его внутри C
. Однако foo
в классе A
полезен и должен быть вызван.