¿Que son las anotaciones?

Hola a todos los miembros de la comunidad

Tengo un problema con el concepto "anotaciones" en Java, ¿hay alguien que nos pueda ayudar con este tema?.

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Son [marcas especiales][1]

Son [marcas especiales][1] que se le ponen a clases, métodos y atributos para agregarles funcionalidad. Estas pueden ser leídas en tiempo de compilación, o en tiempo de ejecución.

Durante la compilación

Por ejemplo la anotación @Override

 

Aquí es usada por el compilador para informarle que el método "some" de la clase B está sobreescribiendo el método "some" de la clase A. Si por error escribieras "same" ( con 'a' en vez de 'o' )

 

El compilador te diría que no hay un método con ese nombre. Esto te puede ayudar a darte cuenta rápidamente de cosas como estas en vez de tener que pasar un rato pensando porque tu programa no funciona bien.

Durante la ejecución.

Por ejemplo la biblioteca Jackson que sirve para leer json y crear objetos java puede utilizar la anotación @JsonProperty para saber que nombre tiene ese atributo en el json

 

En este ejemplo la propiedad json llamada "last_name" sería mapeada al atributo "lastName".

Hay muchos más ejemplos y se usan ampliamente para darle más funcionalidad a tus clases. Por ejemplo para crear prueba JUnit utiliza la anotación @Test en Hibernate se usan para mapear clases a tablas de bases de datos, en Spring para configurar dependencias, etc. etc.

El proyecto [Lombok][2] le da usos muy interesantes para hacer código java más sencillo

Espero que esto te ayude.

[1]:

[2]: