概念

能够添加到 Java 源代码的语法元数据。类、方法、变量、参数、包都可以被注解,可用来将信息元数据与程序元素进行关联。Annotation 中文常译为“注解”。

作用

  1. 标记,用于告诉编译器一些信息
  2. 编译时动态处理,如动态生成代码
  3. 运行时动态处理,如得到注解信息
    这里的三个作用实际对应着@Retention三种值分别表示的 Annotation          

    自定义注解

    1. @interface来声明一个注解

    2. 自定义注解的过程就像在定义一个接口一样,注解中是可以增加属性,为一个注解增加属性就像在为一个接口定义方法

    3. 注解的属性需要在使用注解是进行赋值,赋值的方式(属性名=属性值,属性名=属性值)

    4. 使用default关键字可以在定义注解时给属性赋予一个默认值如果注解中只有一个属性需要被复制,并且这个属性的名字叫做value,则在赋值时可以省去value=

      int version() default 1;

    5. 注解的属性必须是 基本数据类型 String Class 枚举 其他注解 以上数据类型的一维数组