java ereditarietà - Java: dovrei aggiungere un'annotazione @ Override durante l'implementazione di metodi astratti?




2 Answers

In questo caso, preferisco l'uso di @Override , in modo che il metodo venga contrassegnato nelle sottoclassi se la superclasse cambia (o rimuovendo del tutto il metodo o modificando la sua firma, ecc.).

L'unica vera differenza è che senza l'annotazione, se il metodo nella superclasse / interfaccia viene modificato o rimosso, l'implementazione in questione diventa semplicemente un metodo "normale" di quella classe. Pertanto dovresti aggiungere l'annotazione se stai implementando il metodo esclusivamente per soddisfare il contratto; e probabilmente non dovresti aggiungerlo se il metodo ha senso nella tua classe, indipendentemente dalle interfacce implementate o dai metodi astratti ereditati.

esercizi extends

Quando si sostituisce un metodo non virtuale in Java, si consiglia di utilizzare l'annotazione @Override, ma cosa succede se implemento un metodo astratto? Dovrei usare anche @Override?




Sì. È una pratica consigliata da Joshua Bloch in Java efficace.




Related

java annotations override