// 自定义注解
public class Test03 {
// 注解可以显示赋值, 如果没有默认值,我们就必须给注解赋值
@MyAnnotation2(name="wang")
public void test1(){}
// 当只有 一个值 为value 时, 可以不用写 value=""
@MyAnnotation3("")
public void test2(){}
}
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
// 注解的参数: 参数类型 + 参数名();
// default 定义默认值,不写就用默认值
String name() default "";
int age() default 0;
int id() default -1; // 如果默认值为 -1,代表不存在,类似于查找不到返回 -1 一样
String[] schools() default {"清华","北大"};
}
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation3{
// 只有一个值,建议使用 value 赋值
String value();
}
https://www.bilibili.com/video/BV1p4411P7V3?p=4&spm_id_from=pageDriver