Annotation要想决定其作用的范围,通过@Retention(译:保持)指定,而Retention指定的范围由RetentionPolicy(policy,译:方针,政策,原则)决定,RetentionPolicy指定了三种范围:
范围说明public static final RetentionPolicy SOURCE在java源程序中存在(提供给编译器使用)public static final RetentionPolicy CLASS在java生成的class存在public static final RetentionPolicy RUNTIEM在java运行的时候存在(我们通常使用这个范围)示例:
@Retention(value = RetentionPolicy.RUNTIME)
public @interface MyAnnotation{
public String name();
}