一 @Target注解
1 点睛
@Target注解:如果没有指定使用的位置,则可以在任意位置使用,@Target用于指定在什么位置使用注解。一共有10个取值:
public enum ElementType {
//只能用在类、接口、枚举类型上。
TYPE,
//字段声明和枚举常量
FIELD,
//只能用在方法声明上
METHOD,
//只能用在参数的声明上
PARAMETER,
//只能用在构造方法的声明上
CONSTRUCTOR,
//只能用在局部变量声明上
LOCAL_VARIABLE,
//只能用在注解上
ANNOTATION_TYPE,
//只能用在包上
PACKAGE,
TYPE_PARAMETER,
TYPE_USE
}
2 限制自定义Annotation的使用范围
//定义该自定义注解的保存范围是RUNTIME
@Retention(value = RetentionPolicy.RUNTIME)
//当value的值只有一个时可以省略花括号,该注解只能声明在方法上,用在其他地方都会产生编译错误
@Target(value = {ElementType.METHOD})
@interface MyAnnotation
{
public String key();
public String value();
}
3 说明
如果value要设置多个值,可以使用下面方法,放在大括号中。
@Target(value = {E