El mejor ejemplo - anulando equals()
.
Si se escribe una clase como esta:
public class Foo
{
public String bar;
public boolean equals(Foo other)
{
return this.bar.equals(other.bar);
}
}
entonces has sobrecargado el método equals en vez de invalidar Object.equals
como se pretendía.
Si anotar el método equals con @Override
, el compilador le dará un error que indica (correctamente) que no ha anulado un método de una clase.
En Java 6, puede usar esto también para implementar métodos de interfaz; esto es útil cuando solo está agregando un método a su clase para satisfacer alguna interfaz, y por lo tanto el compilador puede verificar que sea necesario y alertarlo la interfaz cambiando
Al igual que con todas las anotaciones, es efectivamente un comentario programático, pero hacer que el compilador compruebe que sus suposiciones son (aún) correctas es muy útil en estos casos.
Duplicado de [¿Qué es "@Override" allí en java?] (Http://stackoverflow.com/questions/2489974/whats-override-there-for-in-java) –
Solo para aclarar, dices " @Override before a class "- ¿te refieres a un método? ¿O realmente te estás refiriendo a una anotación @Override en una clase? –
También duplicado de http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why –