Anotación (Java)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 11 de diciembre de 2021; las comprobaciones requieren 3 ediciones .

Una anotación Java  es una forma especial de metadatos sintácticos en el lenguaje Java que se puede agregar al código fuente .

Las anotaciones se utilizan para el análisis, la compilación o la ejecución del código . Paquetes, clases, métodos, variables y parámetros anotados.

Parece que @ИмяАннотацииprecede a la definición de una variable, parámetro, método, clase, paquete.

Aplicación

La anotación realiza las siguientes funciones:

Anotaciones en línea

Anotaciones aplicadas al código fuente:

Anotaciones aplicadas a otras anotaciones:

Ejemplo

animal de clase pública { público vacío hablar () { } } clase pública Gato extiende Animal { @Override // Anotación que indica que este método anula el método de la clase principal del mismo nombre public void speak () { System . fuera _ println ( "Miau." ); } @Deprecated // Anotación que indica que este método está en desuso y se eliminará pronto public boolean soundsGood () { return true ; } }

Creación de anotaciones

Una declaración de anotación es similar a una declaración de interfaz que usa el signo @ delante de la palabra clave interface  :

@Comida comestible comida = nueva comida ( ); public @interface Edible { // crea tu propia anotación }

Las anotaciones personalizadas pueden incluir varios valores, que se describen como métodos de anotación. Cada declaración de método define un elemento de anotación. La declaración del método no debe incluir argumentos ni instrucciones throws. El tipo de retorno debe ser uno de: un tipo primitivo , una cadena , una clase , un tipo enumerado y una matriz que contenga el tipo de datos enumerado anteriormente. Los métodos pueden tener valores predeterminados.

@Comestible ( verdadero ) // asigna el valor verdadero al alimento comestible alimento = nuevo alimento ( ); public @interface Comestible { booleano comestible () por defecto falso ; // por defecto comestible será falso } public @interface Autor { String first_name (); Cadena apellido (); } @Autor ( nombre = "James" , apellido = "Gosling" ) Libro libro = nuevo Libro (); // Una anotación también se puede anotar para definir su alcance @Target ({ ElementType . METHOD }) public @interface SomeAnnotation {} public class SomeClass { @SomeAnnotation private void hacerAlgo (){} }

Historia

Originalmente, la plataforma Java tenía un mecanismo que precedía al mecanismo de anotación, como el modificador transitorio o la etiqueta @Deprecated . En septiembre de 2002, se presentó JSR-175 a la comunidad Java, describiendo los puntos principales de las anotaciones. Fue aprobado en 2004. Las anotaciones están disponibles en el propio lenguaje desde la versión 1.5 del JDK y se describen en JSR-269. En la versión 1.6, las anotaciones se han integrado en el compilador javac .

Enlaces