Najlepszy przykład - przesłanianie equals()
.
Jeśli piszesz klasę tak:
public class Foo
{
public String bar;
public boolean equals(Foo other)
{
return this.bar.equals(other.bar);
}
}
wtedy masz przeciążony metody equals, zamiast przesłanianie Object.equals
jak miało.
Jeśli zanotujesz metodę równą z @Override
, kompilator poda błąd stwierdzający (poprawnie), że nie nadpisałeś metody nadklasy.
W języku Java 6 można użyć tego również do implementowania metod interfejsu - jest to przydatne, gdy dodajesz metodę tylko do klasy, aby zaspokoić pewien interfejs, a zatem kompilator może sprawdzić, czy jest wymagany i ostrzega Cię o tym. zmiana interfejsu.
Podobnie jak w przypadku wszystkich adnotacji, jest to skutecznie programowy komentarz, ale w przypadku, gdy kompilator sprawdza, czy twoje założenia są (nadal) prawidłowe, jest bardzo przydatny.
Duplikat [What's "@Override" tam w java?] (Http://stackoverflow.com/questions/2489974/whats-override-there-for-in-java) –
Aby wyjaśnić, mówisz " @Override before a class "- masz na myśli metodę? A może rzeczywiście odwołujesz się do adnotacji @Override na zajęciach? –
Również duplikat http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why –