La Red de Conocimientos Pedagógicos - Currículum vitae - Java ¿Qué son las anotaciones y una introducción detallada a los principios de anotación?

Java ¿Qué son las anotaciones y una introducción detallada a los principios de anotación?

1. Las anotaciones son instrucciones para el compilador de Java.

Puedes anotar paquetes Java, tipos (clases, interfaces, enumeraciones), constructores, métodos, campos, parámetros y variables locales. El compilador de Java puede interpretar anotaciones y descartarlas de acuerdo con las instrucciones, o agregar anotaciones al archivo de clase compilado y generado, que está disponible en tiempo de ejecución.

2. Anotaciones y tipos de anotaciones

El tipo de anotación es un tipo de interfaz especial y la anotación es una instancia del tipo de anotación.

El tipo de anotación también tiene un nombre y miembros. La información contenida en la anotación está en forma de pares clave-valor y puede haber 0 o más.

3. Algunas anotaciones definidas en Java:

@Override le dice al compilador que este método debe anular un método de superclase para evitar que los programadores sobrescriban errores.

@Deprecated Identifica el método o clase (interfaz y otros tipos) como caducado y advierte al usuario que no se recomienda su uso.

@SafeVarargs es nuevo en JDK7, para evitar la advertencia "el tipo de parámetro no se puede confirmar específicamente durante la ejecución" cuando se usan parámetros variables genéricos. Por supuesto, también puede usar @SuppressWarnings para evitar la verificación, obviamente esto último. está suprimido El alcance es mayor.

@SuppressWarnings(value={"unchecked"}) Suprime las advertencias de compilación, se aplica a tipos, constructores, métodos, campos, parámetros y variables locales.

el valor es un tipo de matriz, los valores válidos son:

todos, para suprimir todas las advertencias

boxing, para suprimir las advertencias relativas a las operaciones de boxing/unboxing

cast, para suprimir advertencias relativas a operaciones de conversión

dep-ann, para suprimir advertencias relativas a anotaciones obsoletas

desaprobación, para suprimir advertencias relativas a desuso

fallthrough , para suprimir advertencias relativas a pausas faltantes en declaraciones de cambio

finalmente, para suprimir advertencias relativas al bloque finalmente que no regresan

ocultar, para suprimir advertencias relativas a locales que ocultan variables

p>

incomplete-switch, para suprimir advertencias relativas a entradas faltantes en una declaración de cambio (caso de enumeración)

javadoc, para suprimir advertencias relativas a advertencias de javadoc

nls, para suprimir advertencias relativas a literales de cadena que no sean nls

null, para suprimir advertencias relativas a análisis nulos

rawtypes, para suprimir advertencias relativas al uso de tipos sin formato

restricción, para suprimir advertencias relativas al uso de referencias prohibidas o desaconsejadas

serial, para suprimir advertencias relativas a la falta del campo serialVersionUID para una clase serializable

static- acceso, para suprimir advertencias relativas a acceso estático incorrecto

método-estático, para suprimir advertencias relativas a métodos que podrían declararse como estáticos

super, para suprimir advertencias relativas a anulación de un método sin super invocaciones

>

acceso sintético, para suprimir advertencias relativas al acceso no optimizado desde clases internas

desmarcado, para suprimir advertencias relativas a operaciones no comprobadas

acceso a campo no calificado, para suprimir advertencias relativo al acceso al campo no calificado

no utilizado, para suprimir advertencias relativas al código no utilizado y al código inactivo

4. Definición de anotaciones

Utilice la palabra clave @interface para declarar. una anotación

public @interface MyAnnotation1

Los atributos se pueden definir en anotaciones

Nombre de cadena predeterminado "defval";

el valor está en la anotación Atributos especiales

Si el nombre de un atributo definido en una anotación es valor, el nombre del atributo se puede omitir al usar este atributo

Por ejemplo, declarar una anotación:

@ Retención(RetentionPolicy.RUNTIME)

public @interface MyAnno1 {

String msg();

int value(); p>

}