Duplicar posibles:
Why is super.super.method(); not allowed in Java?Java:. Cómo llamar a super() super() en el método reemplazado (método abuelos)
tengo 3 clases que heredan de uno al otro como de la siguiente manera:
A
↳
B
↳
C
Dentro de cada clase tengo el siguiente método:
protected void foo() {
...
}
Dentro de la clase C
Quiero llamar foo
de la clase A
sin llamar foo
en 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();
}
EDITAR Información
un poco de contexto:
Clase B es una clase real que utilizamos. La clase C es una clase de prueba unitaria, tiene algunas modificaciones. El método foo
dentro de B
hace algunas cosas que no queremos, así que lo reemplazamos dentro de C
. Sin embargo, foo
en la clase A
es útil y necesita ser llamado.
Echa un vistazo a este tema http: // stackoverflow .com/questions/586363/why-is-super-super-method-not-allowed-in-java – Pr0gr4mm3r