//自定义注解,参照@SuppressWarnings()定义
//1.注解声明为@interface
//2.内部定义成员
//3.可以指定成员的默认值
//4.如果自定义注解没有成员,表明是以恶标识作用
//如果注解有成员,在使用注解时,需要声明成员的值
//自定义注解必须配上注解的信息处理流程(使用反射)才有意义
//元注解:修饰注解的注解,用于指定注解的范围,声明周期,修饰对象等等
//@Retention只能用于修饰一个Annotation定义,用于指定该Annotation的声明周期,
// 使用时必须指定该value值
@Repeatable(MyAnnotations.class)//先做好一个存单个注解的注解数组
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE,})
@Retention(RetentionPolicy.CLASS)
public @interface MyAnnotation {
String value();
}
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, MODULE})
@Retention(RetentionPolicy.CLASS)
public @interface MyAnnotations {
MyAnnotation[] value();
}
|