注解-自定义注解的格式和本质
自定义注解的格式和本质
先进入注解看一下注解是如何定义的

上面这两个注解先不管他 先看一下是如何写这种注解的
格式很简单:
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.数组赋值时 值使用{}包裹 如果数组只有一个值 则{}可以省略
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号