自定义注解的格式和本质
先进入注解看一下注解是如何定义的
上面这两个注解先不管他 先看一下是如何写这种注解的
格式很简单:
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.数组赋值时 值使用{}包裹 如果数组只有一个值 则{}可以省略
标签:自定义,MyAnno,格式,interface,注解,public,属性 From: https://www.cnblogs.com/shenziyi/p/16812908.html