//自定义注解
public class Test01 {
//注解可以显示赋值,如果没有默认值,我们就必须给注解赋值
@MyAnnotation(age = 18)
public void test(){
}
@MyAnnotation2("蛙蚊丶丶")
public void test2(){
}
}
//Target 表示我们的注解可以定义在哪些地方
@Target({ElementType.TYPE,ElementType.METHOD})//定在类或者方法上
//@Documented 表示是否将我们的注解生成在JAVAdoc中
//@Inherited 子类可以继承父类的注解
//Retention 表示我们的注解在什么地方还有效
//runtime>class>sources
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation{
//注解的参数:参数类型+参数名();
String name() default "";
int age();
int id() default -1;//如果默认值为-1,代表不存在
String[] schools() default {"湖南生物机电"};
}
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
String value();//如果只有一个参数成员,参数名一般是value
}