¿Se puede anular el método en java sin usar anotaciones?
Sí, la anotación @Override
no es necesaria para anular un método.
Con solo tener una definición de método con el mismo método, la firma de una clase ancestra es suficiente para anular un método.
La anotación @Override
es solo un recordatorio para el compilador que dice que la definición del método está destinada a anular un método.
Si un método que tiene un @Override
en realidad no anula un método, el compilador arrojará un error de compilación: la anotación sirve como una verificación adicional en tiempo de compilación para ver si la definición del método anula un método.
Debido a que el eclipse no lo admite si se utiliza jre6, es necesario volver a 5 para usar @ Override anotación.
que suceda a utilizar Eclipse focalización Java 6, y soy capaz de utilizar la anotación @Override
, así que no estoy muy seguro de lo que puede ser la causa de esto. Anotaciones ha sido apoyado desde Java 5, y se ha integrado más estrechamente a la lengua ya que Java 6.
Editar
Desde el comentario de Andreas_D a la pregunta: ¿
sonrisa - este simplemente indica que el nivel de fuente actual para su proyecto es < 1.5. Esta configuración es bastante independiente del JRE, de hecho puede usar JRE 1.6 junto con el nivel 1.4 fuente - y supongo, eso es lo que pasó .
¡Esto parece ser una de las formas en que se puede producir un error de compilación!
La manera de comprobar si el "nivel de conformidad del compilador" está ajustado a algo debajo de Java 5 está,
- Ir a los Propiedades del proyecto Java en Eclipse
- A continuación, vaya a la compilador Java menú
- Compruebe que el compilador Nivel de cumplimiento se establece en 1,5 o superior.
Editar
En cuanto a la pantalla de Gandalf STORMCROW, parece que el nivel de conformidad del compilador se fija más bajo que el JDK 1.5. Al hacer clic en Cambiar el cumplimiento del proyecto y JRE a 1.5 solución rápida, debería arreglar la situación actual.
La cuestión es, se introdujeron las anotaciones en Java 5.
Parece que el proyecto Java en Eclipse está configurado de modo que el código fuente sólo puede contener características que se introdujeron antes de Java 5, por lo tanto, no permitir el uso de anotaciones.
La manera de solucionar la situación es decirle a Eclipse que cuenta a partir de Java 5 se puede utilizar, ajustando el nivel de cumplimiento compilador a 1.5 o superior.
"eclipse no lo admite si usa JRE6": esto no es cierto, ¿qué le dio esa idea? – skaffman
@skaffman, aquí es donde obtuve la idea de http://i39.tinypic.com/dw5lj5.png –
* smile *: esto solo indica que el nivel de fuente actual para su proyecto es <1.5. Esta configuración es bastante independiente del JRE, en realidad puedes usar JRE 1.6 junto con el nivel de fuente 1.4, y supongo que eso fue lo que sucedió. –