14.0 本章概述

14.0 本章概述

本章要点

  • 注解的概念和作用
  • @Override注解的功能和用法
  • @Deprecated注解的功能和用法
  • @SuppressWarnings注解的功能和用法
  • @Retention注解的功能和用法
  • @Target注解的功能和用法
  • @Documented注解的功能和用法
  • @Inherited注解的功能和用法
  • 自定义注解
  • 提取注解信息
  • 重复注解
  • 类型注解
  • 使用APT工具

元数据MetaData 注解

JDK5开始,Java增加了对元数据(MetaData)的支持,也就是Annotation(即注解,也被翻译为注释),这种注解与第3章所介绍的注释有一定的区别。本章所介绍的注解,其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。
通过使用注解,程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。
注解提供了一种为程序元素设置元数据的方法,从某些方面来看,注解就像修饰符一样,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被存储在注解的“name=value”对中。

如何获取注解里的元数据

注解是一个接口,程序可以通过反射来获取指定程序元素的java.lang.annotation.Annotation对象,然后通过java.lang.annotation.Annotation对象来取得注解里的元数据。

注解不影响代码的执行

注解能被用来为程序元素(类、方法、成员变量等)设置元数据。值得指岀的是,注解不影响程序代码的执行,无论増加、删除注解,代码都始终如一地执行。

APT

如果希望让程序中的注解在运行时起一定的作用,只有通过某种配套的工具对注解中的信息进行访问和处理,访问和处理注解的工具统称APT(Annotation Processing Tool)