Anotación que se puede poner justo antes de
declarar un método. Le indica al compilador que el método que se va a declarar redefine
a un método de alguna superclase. Si no fuera así, se produce un error en
tiempo de compilación.
Es útil para prevenir errores causados por métodos
que creemos que redefinen a otros pero que no es así por algún error.
Por ejemplo, es muy frecuente redefinir el método
equals().
@Override
public boolean equals(Object x) { … }
Un error frecuente es escribir mal el parámetro
@Override
public boolean equals(MiObjeto x) { … }
Este error pasaría desapercibido sin la anotación
@Override: el compilador interpretaría que el nuevo método no redefine a ningún
otro, lo que es perfectamente posible.
Otro error frecuente es modificar la signatura de
un método de una superclase y olvidar que hay que adaptar los métodos que lo
redefinen. “@Override” detectaría el olvido.
Ver “Redefinición”.
Temas relacionados