2015-03-10 14 views
6

stavo guardando attraverso una vecchia base di codice e ho trovato un metodo che chiama solo suo genitore:Il metodo di override chiama solo il metodo genitore - utile?

@Override 
public void select(Object item) { 
    super.select(item); 
} 

Ci sarebbe qualche caso d'uso per tale metodo? Per me sembra che potrei semplicemente rimuoverlo.

+0

Se si rimuove questo metodo, l'applicazione subirà un impatto. Se la risposta è no, quindi rimuoverlo. Non sovrintendere o sovra-progettazione. – CKing

+2

Anche il modificatore di accesso del metodo superclasse è pubblico? – Pshemo

+0

@Pshemo: sì il metodo della superclasse è anche pubblico. – jhyot

risposta

7

La rimozione non farebbe alcuna differenza. Vedrai una differenza quando utilizzi il riflesso e cerchi il metodo select sull'oggetto. Se chiedi a tell reflection di non guardare nella classe base dell'oggetto, non troverà il metodo dopo averlo eliminato.

5

Sì, questo metodo può essere rimosso senza modificare la logica del codice.

Forse aveva una diversa implementazione rimossa, oppure doveva avere un'implementazione diversa che non veniva mai scritta.

Problemi correlati