Java自定义注解的实现

自定义注解

  • 格式

    元注解

    public @interface 注解名称{}

  • Java自定义注解的实现

  • 本质:注解本质是一个接口,该接口默认继承Annotation接口

    • public interface MyAnn extends java.lang.annotation.Annotation{}

Java自定义注解的实现

属性:接口中的抽象方法

1.要求:属性的返回值属性

  • 基本数据类型

  • String 类型

  • 枚举

  • 注解

  • 以上类型的数组

  • void 类型的方法在注解中是不允许存在的

2.定义了属性,在使用时需要给属性赋值

例如:定义了一个注释 参数是一个int型

Java自定义注解的实现

如果在使用注释时没有赋值,编译器就会提示错误

Java自定义注解的实现

如果使用default默认赋值

Java自定义注解的实现

Java自定义注解的实现

总结

  • 如果定义属性时,使用default关键字给属性默认初始化值,那么在使用注解时,可以不给属性赋值

  • 如果只有一个属性需要赋值,而且属性的名称是value, 则value可以忽略,直接定义值

元注解  就是解释注解的注解

@Target:描述注解能够作用的位置

@Retention:描述注解被保留的阶段(java代码有三个阶段:源码,.class ,Runtime)

@Documented:描述注解是否被抽取到api文档中

@Inherited:描述注解是否被子类继承