Post

Visualizzazione dei post con l'etichetta Override

Annotations: @Override

DOMANDA: Perché si utilizza l'annotazione @Override? A cosa serve e quali sono i vantaggi? RISPOSTA: @Override è una annotazione aggiunta a partire da Java 5 ed utilizzata per indicare al compilatore che il metodo su cui è posta sta effettuando un override (sovrascrittura) di un metodo della sua superclasse o, da Java 6 , anche di un'interfaccia. La domanda nasce spontanea: "cosa cambia se non lo utilizzo?" . Proviamo a fare un override sul metodo equals() della superclasse Object : public class Animale{ private String nome; public boolean equals(Animale animale){ return nome.equals(animale.nome); } } Come si nota non abbiamo utilizzato @Override ... e infatti non stiamo effettuando un override , bensì un overloading ! Sicuramente la maggior parte di voi non avrà fatto caso all'errore. Il metodo equals() ereditato della classe Object accetta come parametro un Object (non un Animale ), di conseguenza il compilatore riconoscerà il m