Annotation

来源:互联网 发布:爱淘宝领红包网址 编辑:程序博客网 时间:2024/06/06 03:37
Anbitation 必须使用工具来处理,工具负责提取Annotation里包含的元数据,工具还会根据这些元数据增加额外的功能。在系统学习新的Annotation语法之前,先看一下Java提供的5个基本Annotation的用法--使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符来使用,用于修饰它支持的程序元素。(包含在java.lang包下)
  1. @Override 限制重写父类方法

  2. @Deprecated 标记已过时

  3. @SuppressWarnings 抑制编译器警告

  4. @SafeVarargs 堆污染警告

  5. @FunctionalInterface 指定某个接口必须是函数式接口

JDK除了在java.lang下提供了5个基本的Annotation之外还在java.lang.annotation包下提供了6个Meta Annotation(元Annotation),其中5个元Annotation都用于修饰其他的Annotation其中@Repeatable专门用于定义Java8 新增的重复注解。
@Retention 只能用于修饰Annotation定义,用于指定被修饰的Annotation可以保留多长时间,@Retention包含一个RetentionPolicy类型的value成员变量。

@Target 也只能修饰一个Annotation定义,它用于指定被修饰的Annotation能用于修饰那些程序单元,@Target元Annotation也包括一个名为Value成员变量

@Documented 用于指定被该元Annotation修饰的Annotation类将被Annotation类将被javadoc工具提取文档,如果定义Annotation类时使用了@Documented修饰,则所有使用该Annotation修饰的程序元素的API文档中将会包含该Annotation说明

0 0