Como lenguaje de programación y plataforma informática Java es, además de popular, rápido, seguro y fiable. Y es que su fama se debe a algo. Todas esas virtudes que lo adornan no son más que la pura realidad. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tengan Java instalado, y cada día se crean más y más. Para que aprendas a manejar este "idioma", te lo contamos todo sobre una de sus utilidades: las anotaciones en Java. ¡No pierdas detalle!

 

Las anotaciones en Java: los post-it informáticos

Una anotación en Java es aquella característica que le permite incrustar información suplementaria en un archivo fuente. Esta información no cambia las acciones de un programa, pero puede ser utilizada por varias herramientas, tanto durante el desarrollo como durante el despliegue.

Las anotaciones en Java pueden ser procesadas por un generador de código fuente, por el compilador o por una herramienta de despliegue. En ocasiones, estas anotaciones también son llamadas metadata, pero el término anotación es el más descriptivo y más utilizado.

¿Cuáles son sus características?

  • Las anotaciones en Java comienzan con ‘@’.
  • No cambian la actividad de un programa ordenado.
  • Ayudan a relacionar metadatos (datos) con los componentes del programa, es decir, constructores, estrategias, clases, etc.
  • No son comentarios sin adulteraciones, ya que pueden cambiar la forma en que el compilador trata el programa.

Anotación estándar

Si dominas la programación, sabrás que Java define muchas anotaciones incorporadas. La mayoría son especializadas, pero nueve son de propósito general.

  • Cuatro importados de java.lang.annotation: @Retention, @Documented, @Target, y @Inherited
  • Cinco de java.lang: @Override, @Deprecated, @SafeVarargs, @FunctionalInterface, y @SuppressWarnings.

¡Vamos a desgranarlas!:

@Retention

Especifica la política de retención que se asociará con la anotación. La política de retención determina el tiempo que una anotación está presente durante el proceso de compilación y despliegue.

@Documented

Una anotación de marcador que indica a una herramienta que se debe documentar una anotación. Está diseñado para ser utilizado sólo como una anotación en una declaración de anotación.

@Target

Especifica los tipos de elementos a los que se puede aplicar una anotación. Está diseñado para usarse solo como una anotación en otra anotación. @Target toma un argumento, que debe ser una constante o array de constantes de la enumeración ElementType, que define varias constantes, como CONSTRUCTOR, FIELD y METHOD. El argumento determina los tipos de elementos a los que se puede aplicar la anotación. Si @Target no está especificado, la anotación se puede usar en cualquier declaración.

@Inherited

Una anotación de marcador que hace que la anotación de una superclase sea heredada por una subclase.

@Override

Un método anotado con @Override debe anular un método de una superclase. Si no lo hace, se producirá un error en tiempo de compilación. Se utiliza para asegurar que un método de superclase esté anulado y no simplemente sobrecargado. Esta es una anotación de marcador.

@Deprecated

Una anotación que indica que un elemento está obsoleto y no se recomienda su uso. A partir de JDK 9, @Deprecated se ha mejorado para permitir que se especifique la versión de Java en la que se produjo la obsolescencia y si el elemento obsoleto va a ser eliminado.

@SafeVarargs

Una anotación de marcador que indica que no se producen acciones inseguras relacionadas con un parámetro varargs en un método o constructor. Puede ser aplicado a métodos y constructores, con varias restricciones.

@FunctionalInterface

Específica que se deben suprimir una o más advertencias que pueda emitir el compilador. Las advertencias a suprimir se especifican por nombre, en forma de strirg.

@SuppressWarnings

Una anotación de marcador que se utiliza para anotar una declaración de interfaz. Indica que la interfaz anotada es una interfaz funcional, que es una interfaz que contiene un único método abstracto. Las interfaces funcionales son utilizadas por las expresiones lambda. Es importante entender que @Functionallntertace es puramente informativo. Cualquier interfaz con exactamente un método abstracto es, por definición, una interfaz funcional.

Las anotaciones son una forma de metadatos que proporcionan datos sobre un programa que no forma parte del programa en sí. Las anotaciones no tienen ningún efecto directo en el funcionamiento del código que anotan.

 

¡Usa las anotaciones en Java como un profesional!

Te indicamos los principales usos de las anotaciones en este lenguaje de programación:

Información para el compilador

El compilador puede utilizar las anotaciones para detectar errores o suprimir las advertencias.

Procesamiento en tiempo de compilación y tiempo de implementación

Las herramientas de software pueden procesar información de anotaciones para generar código, archivos XML, etc.

Anotación para el procesamiento de tiempo de ejecución

Algunas anotaciones están disponibles para ser examinadas en tiempo de ejecución. Las anotaciones en Java se pueden aplicar a declaraciones: declaraciones de clases, campos, métodos y otros elementos del programa. Cuando se utiliza en una declaración, cada anotación suele aparecer, por convención, en su propia línea.

A partir de la versión Java SE 8, las anotaciones también se pueden aplicar al uso de tipos.

Como habrás podido comprobar, Java tiene multitud de funcionalidades. Y es que por algo es el lenguaje de programación universal, ¿no?

Pues bien, si quieres saberlo absolutamente todo sobre Java y dominarlo como un experto, en Tokio te echamos una mano con nuestro curso de Programador Java. No olvides que esta es una profesión muy bien remunerada y con un futuro inmejorable.

Hay otras cientos de razones para embarcarte en ella y desarrollar de su mano tu carrera profesional... ¡Cubre el formulario y toma nota, que te las contamos!