Red de conocimiento del abogados - Respuesta jurídica de la empresa - 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 "No se puede confirmar el tipo de parámetro 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 es. 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 la anulación de un método sin superinvocaciones

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

u

nchecked, para suprimir advertencias relativas a operaciones no marcadas

acceso a campos no calificados, para suprimir advertencias relativas a accesos a campos no calificados

unused, para suprimir advertencias relativas a códigos no utilizados y códigos inactivos

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 es un atributo especial en la anotación

Si el nombre del atributo definido en la anotación es valor, este atributo se puede utilizar cuando se omite el nombre del atributo

Por ejemplo, declara una anotación:

@Retention(RetentionPolicy.RUNTIME)

public @interface MyAnno1 {

Mensaje de cadena();

int valor();

}