Ho una classe che estende una classe che ho bisogno di sovrascrivere, ma ho bisogno di chiamare la classe genitrice di quella classe. dal momento che non posso chiamare super visto che eseguirà il genitore diretto qual è il modo migliore per ottenere il genitore della mia classe genitore?Java: come si accede a due livelli di un metodo della classe genitore?
Sono sicuro che questa è una domanda di base, ma è da un po 'che non faccio java.
class A
{
public void myMethod()
{ /* ... */ }
}
class B extends A
{
public void myMethod()
{ /* Another code */ }
}
class C extends B
{
I need to call Class A here
{ /* Another code */ }
}
Quasi sempre utilizzando Super è cattiva forma. l'unica probabile eccezione a questo è un metodo overiding che chiama ciò che ha scavalcato. In questi casi potrebbe essere meglio introdurre un metodo astratto o non fare nulla e scavalcare quello con il metodo "originale" reso definitivo. Ciò significa tuttavia che ottieni solo uno scatto. Le gerarchie profonde sono comunque cattive ... –
Possibile duplicato di [Java Come chiamare il metodo dei nonni?] (Http://stackoverflow.com/questions/2584377/java-how-to-call-method-of-grand- i genitori). Relativo anche a http://stackoverflow.com/questions/586363/why-is-super-super-method-not-allowed-in-java – finnw