@Target
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
ElementType[] value();
}
@Target说明了Annotation所修饰的对象范围
public enum ElementType {
//类,接口,注解类型,枚举类型
TYPE,
//域
FIELD,
//方法
METHOD,
//参数
PARAMETER,
//构造器
CONSTRUCTOR,
//局部变量
LOCAL_VARIABLE,
//注解类型
ANNOTATION_TYPE,
//包
PACKAGE,
//类型参数
TYPE_PARAMETER,
//可以标注任何名称
TYPE_USE
}