java自定义注解
自定义注解
格式:public @interface 注解名称{属性列表;}
本质:注解本质上就是一个接口。该接口继承Annotation接口 public interface Myanno extends java.lang.annotation.Annotation{}
属性:接口中的抽象方法
- 属性的返回类型
- 基本数据类型
- String
- 枚举
- 注解
- 以及包含以上类型的数组
- 定义属性,使用时赋值
- 通过default给默认值,使用注解时可以不赋值
- 如果只有一个属性,且属性名为value则使用注解时可以直接赋值
- 数组赋值使用{}包括
元注解:描述注解的注解
- @Target:描述注解作用的位置,参数ElementType为枚举类型
- @Retention:描述注解保留阶段,参数RententPolicy枚举类型
- @Documented:描述注解是否被抽取到API中
- @Inherited:描述注解是否被子类继承