JavaSE - Note12 Annotation
注解/注释类型
是一种引用数据类型,编译之后也是生成 .class 文件
等同于一种标记,可以在编译,类加载,运行时被读取,并执行相应的处理
通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息
注解可以出现在类上、属性上、方法上、变量上等任意位置(支持套娃注解)
定义:[修饰符列表] @interface 注解类型名 {}
1 |
|
使用:@注解类型名
1 |
|
JDK 内置注解
java.lang
Deprecated
此注解标注的类型已过时,不鼓励其他程序员使用,通常是因为它很危险或存在更好的选择
Override
重写方法,标识性注解,表示需重写父类中的方法
- 只能注解方法
- 给编译器参考,若方法有误则编译器报错
- 和运行阶段无关
SuppressWarnings
表示在注释元素(以及注释元素中包含的所有程序元素)中应该抑制命名的编译器警告
元注解
用来标注“注解类型”的注解被称为元注解
常见的元注解有:
Target
用来标注”被标注的注解“出现的位置
Retention
用来标注“被标注的注解”保存的位置
注解名 保存位置 RetentionPolicy.SOURCE Java 源文件 RetentionPolicy.CLASS class 文件 RetentionPolicy.RUNTIME class 文件(支持反射机制读取)
元注解实例:
1 |
|
自定义注解
注解中可以定义属性,类似于
1 |
|
属性的使用:
1 |
|
属性的类型
基本数据类型 + String + Class + Enum
包括以上每种类型的数组形式
反射注解
Retention 元注解中使用 “RetentionPolicy.RUNTIME”,即可被反射获取
1 |
|
JavaSE - Note12 Annotation
https://wataaaame.github.io/java/2022/07/12/JavaSE - Note12 Annotation/