Java学习之注解Annotation
注解的定义:
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制,用来将任何的信息或元数据与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annotation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。
元注解:
元注解是用于修饰注解的注解,通常用在注解的定义上。java.lang.annotation提供了四种元注解——@Retention、 @Target、@Inherited、@Documented。
- @Retention
表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)。参数是RetentionPolicy枚举对象, RetentionPolicy的枚举类型有:
- RetentionPolicy.SOURCE —— 注解只保留在源文件中,即仅存在编译处理阶段,当java文件编译成class文件的时候,注解被废弃。
- RetentionPolicy.CLASS —— 注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期。
- RetentionPolicy.RUNTIME —— 注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在。因此可以使用反射机制读取该注解的信息。我们自定义的注解通常使用这种方式。
- @Target
表示该注解用于什么地方。默认值为任何元素,表示该注解用于什么地方,参数是一个ElementType类型的数组。可用的ElementType参数类型有:
- ElementType.TYPE —— 接口,类,枚举,注解
- ElementType.FIELD —— 字段、枚举的常量
- ElementType.METHOD —— 方法
- ElementType.PARAMETER ——方法参数
- ElementType.CONSTRUCTOR —— 构造函数
- ElementType.LOCAL_VARIABLE —— 局部变量
- ElementType.ANNOTATION_TYPE —— 注解
- ElementType.PACKAGE —— 包
- @Inherited
表明标记的注解是被继承的。比如,如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。
- @Documented
表明标记的注解可以被javadoc此类的工具文档化。
记录学习笔记,有其他参考,如有侵权,联系删除
本文来自博客园,作者:rissa,转载请注明原文链接:https://www.cnblogs.com/rissa/p/13792702.html

浙公网安备 33010602011771号