Java注解
2021-10-25 11:20:17 20 举报
AI智能生成
Java注解知识点总结
作者其他创作
大纲/内容
注解元素数据类型
所有基本类型
String
Class
enum
Annotation
以上类型的数组
提取注解
反射包的AnnotatiedElement接口
实现类
Package
Class
AccessibleObject(Field,Mothed,Constructor)
Parameter
方法
getAnnotation:返回存在的指定类型的注解,不存在则null
getAnnotations:返回所有注解
isAnnotationPresent:判断是否存在指定类型的注解
getDeclaredAnnotations:返回直接存在于该元素上的所有注解
概念定义
注解
注解:提供一种为程序元素设置元数据的方法
基本原则:注解不能直接干扰程序代码的运行,无论增加或删除注解,代码都能够正常运行
注解分类
标注注解:没有元素的注解
单值注解:只有单个元素,默认value
多值注解
元数据
元数据就是关于数据的数据,Java注解是一种特殊的元数据
元数据作用
编写文档:通过代码里标识的元数据生成文档
代码分析:通过代码里标识的元数据对代码进行分析
编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查
系统注解
标准注解
@Override
保证编译时候Override函数的声明正确性
@Deprecated
弃用,与Javadoc里的@deprecated标记功能相同,但不支持参数
@SuppressWarnings
关闭特定的警告信息
参数
deprecation:弃用警告
unchecked:执行了未检查的转换时的警告
fallthrough:当Switch程序块缺少Break时的警告
path:类路径、源文件等有不存在的路径时的警告
serial:当在可序列化的类上缺少serialVersionUID定义时的警告
finally:finally子句不能正常完成时的警告
all:所有
元注解
负责注解其他注解
@Retention
表示需要在什么级别保存该注解信息
RetentionPolicy参数
SOURCE:注释将被编译器丢掉
CLASS:缺省值,注解在class文件中可用,但会被VM丢弃。
RUNTIME:常用值,VM将在运行时也保留注解,因此可以通过反射机制读取到。
@Target
该注解可以用于什么地方
ElementType参数
CONSTRUCTOR:构造器
FIELD:域(包括枚举实例)
LOCAL_VARIABLE:局部变量
METHOD:方法
PACKAGE:包
PARAMETER:参数
TYPE:类、接口(包括注解)或枚举
@Documented
将注解包含在JavaDoc中
@Inhertied
允许子类继承(extends)父类中的注解
0 条评论
下一页