目录
🍎1. demo源码地址🍎
下载源码配合教程看有助于理解~🤔🤔
链接: https://pan.baidu.com/s/1RzpRWh8O-5LmvG1H1cVJYA
提取码: tged
🍊2. 注解的定义格式🍊
public @interface DemoAnnotation { }
🍋3. 注解中属性的返回值类型有哪些?🍋
public @interface DemoAnnotation { //基本数据类型 int method1(); //字符串 String method2(); //注解 Method3 METHOD_3(); //枚举 DemoAnnotation2 demo(); //以上类型的数组 }
🍓4. 使用自定义的注解🍓
使用的方法很简单, 在新建的类中上方加上 刚刚定义的@DemoAnnotation() 注解,
在加上注解后我们发现, idea提示我们参数的缺失, 这个时候我们只要加上 方法的名称 = 对应的值
如果不想为属性赋值的话, 我们可以在定义属性的时候加上default关键字
这里还有一种简化写法, 如果只有一个属性赋值, 并且属性的名称叫做value, 则可以直接去写值12
🍑 5. 元注解🍑
5.1 @Target(描述注解作用的位置)
(1) TYPE : 作用在类上
(2) METHOD : 作用在方法上
(3) FIELD : 作用在成员变量上
下面我们以其中的TYPE为例来进行演示, 结果很明显, 作用在方法和变量上就开始报错了
如果想让注解作用在多个地方的话就采用数组的形式填写
@Target(value = {ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
5.2 常用的 @Retention(RetentionPolicy.RUNTIME) : 当前被描述的注解, 会保留到class字节码文件中, 并被JVM读取到