Java注解annotation
2023-05-04 20:00:57 0 举报
AI智能生成
Java注解 (annotation) 是 Java 语言的一种重要特性,它是 JDK 5.0 版本之后引入的。注解是一种元数据机制,它可以在源代码、字节码或者运行时被读取,然后提供给使用它的程序进行定制化处理。在 Java 中,注解以 @ 符号开头,被称之为元注解。
作者其他创作
大纲/内容
概念定义
注解
注解:提供一种为程序元素设置元数据的方法
基本原则:注解不能直接干扰程序代码的执行,无论增加或删减注释代码都能正常运行
注解分类
标注注解(没有元素的注解)
单值注解
标准注解
元数据
元数据(metadata)就是描述数据的数据
作用
编写文档:通过代码里标注的元数据生成文档
代码分析:通过代码里标识的元数据进行代码分析
编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查
系统注解
标准注解
@Override
作用:保证编译时Override函数的声明正确性
@Deprecated
作用:标记已过时
@SuppressWarnings
作用:抑制编译器警告
参数
deprecation:使用了不赞成使用的类或方法时的警告
unchecked:执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型
fallthrough:当 Switch 程序块直接通往下一种情况而没有 Break 时的警告
path:在类路径、源文件路径等中有不存在的路径时的警告
serial:当在可序列化的类上缺少 serialVersionUID 定义时的警告
finally:任何 finally 子句不能正常完成时的警告
all:关于以上所有情况的警告
元注解:注解其他注解
@Target
作用:用于描述注解的使用范围
取值(ElementType)
CONSTRUCTOR:用于描述构造器
FIELD:用于描述域
LOCAL_VARIABLE:用于描述局部变量
METHOD:用于描述方法
PACKAGE:用于描述包
PARAMETER:用于描述参数
TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention
作用:描述注解的生命周期
取值(RetentionPoicy)
SOURCE:在源文件中有效(即源文件保留)
CLASS:在class文件中有效(即class保留)
RUNTIME:在运行时有效(即运行时保留)
@Documented
作用:将注释包含在javadoc文档
@Inherited
作用:允许子类继承父类的注解
注解元素数据类型
所有基本数据类型(int,float,boolean,byte,double,char,long,short)
String类型
Class类型
enum类型
Annotation类型
以上所有类型的数组
提取注解
java.lang.reflect.AnnotatedElement
实现类
Class:类定义
Constructor:构造器定义
Field:类的成员变量定义
Method:类的方法定义
Package:类的包定义
方法
T getAnnotation(Class annotationClass): 返回改程序元素上存在的、指定类型的注解,如果该类型注解不存在,则返回null
Annotation[] getAnnotations():返回该程序元素上存在的所有注解
boolean is AnnotationPresent(Class annotationClass):判断该程序元素上是否包含指定类型的注解,存在则返回true,否则返回false
Annotation[] getDeclaredAnnotations():返回直接存在于此元素上的所有注释
0 条评论
下一页