Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的
依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、
单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过
反射机制编程实现对这些元数据(用来
描述数据的数据)的访问。另外,你可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在
class文件、或者运行时中出现(SOURCE/CLASS/RUNTIME)。
它的作用是对覆盖
超类中方法的方法进行标记,如果被标记的方法并没有实际覆盖超类中的方法,则编译器会发出错误警告。
它的作用是对不应该再使用的方法添加注解,当
编程人员使用这些方法时,将会在
编译时显示提示信息,它与
javadoc里的@deprecated标记有相同的功能,准确的说,它还不如javadoc @deprecated,因为它不支持参数,使用@Deprecated的示例代码示例如下:
它类似于新创建一个接口文件,但为了区分,我们需要将它声明为@
interface,如下例:
在
Java编译器编译时,它会识别在
源代码里添加的注解是否还会保留,这就是RetentionPolicy。下面是Java定义的RetentionPolicy枚举:
Java提供的Documented元注解跟Javadoc的作用是差不多的,其实它存在的好处是开发人员可以定制Javadoc不支持的文档属性,并在开发中应用。它的使用跟前两个也是一样的,简单代码示例如下: