注解-自定义注解的格式和本质

自定义注解的格式和本质

先进入注解看一下注解是如何定义的

 上面这两个注解先不管他 先看一下是如何写这种注解的

格式很简单:

public @interface 注解名{}
public @interface MyAnno {
}

这样就是一个注解 这种注解我们称为源注解

 注解本质上就是一个接口 该接口默认继承Annotation接口

属性:接口中可以定义的抽象方法

属性要求:

1.属性的返回值类型有下列要求

  • 基本数据类型
  • String
  • 枚举
  • 注解
  • 以上类型的数组

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

比如:

自定义代码:

public @interface MyAnno {
    int age();
    String name();
}

测试类:

  @MyAnno(age = 11,name = "张三")
    public void method(){
        
    }

1.如果定义属性时 使用default关键字属性默认初始化值 则使用注解时 可以不进行属性的赋值

2.如果只有一个属性需要赋值 并且属性的名称时value 则value可以省略 直接定义值即可

比如

注解:

public @interface MyAnno {
    int value();
    // String name();
}

测试类:

 @MyAnno(11)
    public void method(){

    }

3.数组赋值时 值使用{}包裹 如果数组只有一个值 则{}可以省略

posted @ 2022-10-21 11:28  想见玺1面  阅读(45)  评论(0编辑  收藏  举报