1. Descripción general de la anotación
Breve introducción: las anotaciones son comentarios o metadatos que se insertan en su código. Estas anotaciones pueden procesarse utilizando herramientas de precompilación durante la compilación, o pueden procesarse utilizando el mecanismo de reflexión de Java durante el tiempo de ejecución.
Función de anotación : 1. Comprobación del compilador 2. Definir anotación
Ventajas de anotación: mejorar la eficiencia del desarrollo y el bajo costo
Observe las deficiencias: acoplamiento grande, no propicio para el mantenimiento posterior
2. Definición de anotaciones
La anotación se define mediante la palabra clave @interface
Ejemplos:
El uso de anotaciones: el formato de anotación más simple @Test
Anotación de uso común: @override (que indica la cobertura del método de la clase principal, ¡no debería ser extraño!)
3. Meta anotaciones
Las meta anotaciones son anotaciones que se pueden anotar en anotaciones. (Una anotación básica se puede aplicar a otras anotaciones)
Su función y propósito es explicar otras notas comunes.
Hay 5 tipos de metaetiquetas: @Retention , @Documented , @Target , @Inherited , @Repeatable . (Dos de ellos son más importantes)
1. @ Retention (indicando el tiempo de supervivencia de la anotación)
Valor: RetentionPolicy.SOURCE La anotación solo está reservada en la etapa del código fuente, se descartará e ignorará cuando el compilador compile.
La anotación RetentionPolicy.CLASS solo se retiene hasta que la compilación esté en progreso, no se cargará en la JVM.
La anotación RetentionPolicy.RUNTIME se puede conservar hasta que se ejecute el programa, se cargará en la JVM,
Formato:
2. @ Target (especifique la aplicación de la anotación)
Valor: ElementType.ANNOTATION_TYPE puede anotar una anotación
ElementType.CONSTRUCTOR puede anotar el constructor
ElementType.FIELD puede anotar atributos
ElementType.LOCAL_VARIABLE puede anotar variables locales
ElementType.METHOD puede anotar métodos
ElementType.PACKAGE puede anotar un paquete
ElementType.PARAMETER puede anotar parámetros dentro de un método
ElementType.TYPE puede anotar un tipo, como clase, interfaz, enumeración
Formato:
4. Atributos anotados
Tenga en cuenta que solo hay variables miembro y ningún método. '
Ejemplos:
Uso:
V. Extracción de anotaciones
Las anotaciones se obtienen a través de la reflexión. Primero, puede determinar si una determinada anotación se aplica mediante el método isAnnotationPresent () del objeto Class.
Este blog es muy bueno para escribir comentarios, no entiendo, le recomiendo que eche un vistazo.
Enlace: https://blog.csdn.net/briblue/article/details/73824058