Java自定义注解的实现
自定义注解
-
格式
元注解
public @interface 注解名称{}
-
-
本质:注解本质是一个接口,该接口默认继承Annotation接口
-
public interface MyAnn extends java.lang.annotation.Annotation{}
-
属性:接口中的抽象方法
1.要求:属性的返回值属性
-
基本数据类型
-
String 类型
-
枚举
-
注解
-
以上类型的数组
-
void 类型的方法在注解中是不允许存在的
2.定义了属性,在使用时需要给属性赋值
例如:定义了一个注释 参数是一个int型
如果在使用注释时没有赋值,编译器就会提示错误
如果使用default默认赋值
总结
-
如果定义属性时,使用default关键字给属性默认初始化值,那么在使用注解时,可以不给属性赋值
-
如果只有一个属性需要赋值,而且属性的名称是value, 则value可以忽略,直接定义值
元注解 就是解释注解的注解
@Target:描述注解能够作用的位置
@Retention:描述注解被保留的阶段(java代码有三个阶段:源码,.class ,Runtime)
@Documented:描述注解是否被抽取到api文档中
@Inherited:描述注解是否被子类继承