注解的概念

  • 注解(Annotation)又叫标注.是从java5开始增加的一种引用数据类型
  • 注解本质上就是代码中的特殊标记,通过这些标记可以在编译 类加载 以及运行时执行指定的处理

    注解的定义和使用

    注解 - 图1

  • 自定义注解自动继承java.lang.annotation.Annotation接口

  • 通过@注解名称的方式可以修改包 类 成员方法 成员变量 构造方法 参数 局部变量的声明等
  • 注解体中只有成员变量没有成员方法,而注解的成员变量以”无参形式的方法”形式来声明,其方法名定义了该成员变量 的名字,其返回值定义了该成员变量的类型
  • 如果注解只有一个参数成员,建议参数名为value,而类型只能是八中基本数据类型, String类型 Class类型 enum类型 以及Annotation类型
    ```java package com.lagou.task10;

/**

  • @author lijing
  • @date 2020/9/22 11:26
  • @description */ //若一个注解中没有任何的成员,则这样的注解叫做标记注解/标识注解 public @interface MyAnnotation { // public String name; // public int age; public String value(); //声明一个String类型的成员变量 名字为value public String value2(); public String value3() default “默认值”; }

package com.lagou.task10;

/**

  • @author lijing
  • @date 2020/9/22 13:25
  • @description */ @MyAnnotation(value=”hello”,value2 = “world”) //表示将标签MyAnnotation贴在Person类中,使用注解采用 成员参数名=成员参数值 public class Person { private String name; private int age; }

```

元注解的概念

元注解是可以注解到注解上的注解,或者说元注解是一种基本注解,但是他能够应用到其他的注解上面
元注解主要有:@Retention @Document @Target @Inherit @Repeatable

@Retention

@Retention应用到一个注解上用于说明该注解的生命周期,取值如下:
注解 - 图2
注解 - 图3

@Document

注解 - 图4

@Target

注解 - 图5

@Inherit

注解 - 图6

@Repeatable

注解 - 图7

常见的预制注解

注解 - 图8
注解 - 图9