元注解:元注解就是描述注解的注解
@Target | 指定了注解能在哪里使用 |
---|---|
@Retention | 可以理解为保留时间(生命周期) |
@Inherited | 表示修饰的自定义注解可以被子类继承 |
@Documented | 表示该自定义注解,会出现在API文档里面 |
@Target:比如能在成员变量上使用、类上使用、方式上使用
@Target({ElementType.FIELD,ElementType.TYPE,ElementType.METHOD}) //指定注解使用的位置(成员变量、类、方法)
@Retention(RetentionPolicy.RUNTIME) // 指定了该注解的存活时间
@Inherited // 指定该注解可以被继承
public @interface anno {
}
@Retention如果不写该注解,那么该自定义注解只能存活在源码阶段(java文件),编译成class文件的时候这个注解就会消失,运行时就无法使用