Es una sugerencia para el compilador para hacerle saber que está anulando el método de una clase principal (o interfaz en Java 6).
Si el compilador detecta que NO hay una función que anular, le avisará (o error).
Esto es extremadamente útil para identificar rápidamente errores tipográficos o cambios de API. Supongamos que intentas anular el método harvest()
de tu clase principal, pero deletéralo harvset()
, tu programa llamará silenciosamente a la clase base, y sin @Override
, no tendrás ninguna advertencia al respecto.
Del mismo modo, si está utilizando una biblioteca, y en la versión 2 de la biblioteca, harvest()
se ha modificado para tomar un parámetro entero, ya no lo anulará. De nuevo, @Override
se lo diría rápidamente.
Tenga en cuenta que @Override solo funciona para funciones públicas y protegidas. – MrMas
También se debe mencionar que ** múltiples ** anotaciones también son posibles y que también se puede agregar otro código con esto. Por ejemplo, al verificar permisos en aplicaciones Android M, como se hace en [PermissionsDispatcher] (https://github.com/hotchemi/PermissionsDispatcher). – not2qubit