注解学习笔记(二)
注解的使用


使用@Retention
value成员变量的值只能是如下三个:
RetentionPolicy.CLASS: 编译器将把注释记录在class文件中。当运行Java程序时,JVM不在保留注释,这是默认值。
RetentionPolicy.RUNTIME: 编译器将把注释记录在class文件中。当运行Java程序时,JVM也会保留注释,程序可以通过反射获取该注释。
RetentionPolicy.SOURCE: 注解仅存在于源码中,在class字节码文件中不包含。
使用@Target
ElementType.ANNOTATION_TYPE: 指定该策略的Annotation只能修饰Annotation。
ElementType.CONSTRUCTOR: 指定该策略的Annotation能修饰构造器。
ElementType.FIELD: 指定该策略的Annotation只能修饰成员变量。
ElementType.LOCAL_VARIABLE: 指定该策略的Annotation只能修饰局部变量。
ElementType.METHOD: 指定该策略的Annotation只能修饰方法。
ElementType.PACKAGE: 指定该策略的Annotation只能修饰包定义。
ElementType.PARAMETER: 指定该策略的Annotation可以修饰参数。
ElementType.TYPE: 指定该策略的Annotation可以修饰类、接口(包括注释类型)或枚举定义。

浙公网安备 33010602011771号