元注解:可以修饰注解的注解
@Target(参数)定义注解作用区域 若多个参数可以采用数组写法
参数:类或接口:ElementType.TYPE;
字段:ElementType.FIELD;
方法:ElementType.METHOD;
构造方法:ElementType.CONSTRUCTOR;
方法参数:ElementType.PARAMETER。
@Retention(参数)定义注解生命周期
仅编译期:RetentionPolicy.SOURCE;
仅class文件:RetentionPolicy.CLASS;
运行期:RetentionPolicy.RUNTIME 通常:@Retention(RetentionPolicy.RUNTIME)
@Inherited 定义子类是否可继承父类定义的注解 @Inherited仅针对@Target(ElementType.TYPE)类型的annotation有效,并且仅针对class的继承,对interface的继承无效
如果一个类调用该注解 则他的子类默认调用该注解