// 自定义注解
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