127.@Override

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

Vademécum