注解(一)-java注解

Java内置注解

参考学习:Java 注解 —— 注解的理解、注解的使用与自定义注解

修饰的注解类型 API

注解类型 含义
Documented 表示含有该注解类型的元素(带有注释的)会通过javadoc或类似工具进行文档化
Inherited 表示注解类型能被自动继承
Retention 表示注解类型的存活时长
Target 表示注解类型所适用的程序元素的种类

参考:Inherited 注解理解

@Inherited:表示该注解类型被自动继承,如果用户在当前类中查询这个元注解类型并且当前类的声明中不包含这个元注解类型,那么也将自动查询当前类的父类是否存在Inherited元注解,这个动作将被重复执行知道这个标注类型被找到,或者是查询到顶层的父类
@Retention:表示该注解类型的注解保留的时长。当注解类型声明中没有@Retention元注解,则默认保留策略为RetentionPolicy.CLASS。关于保留策略(RetentionPolicy)是枚举类型,共定义3种保留方式
表示该注解类型的所使用的程序元素类型。当注解类型声明中没有@Target元注解,则默认为可适用所有的程序元素。如果存在指定的@Target元注解,则编译器强制实施相应的使用限制。关于程序元素(ElementType)是枚举类型,共定义8种程序元素

name exp
SOURCE 仅存在Java源文件,经过编译器后便丢弃相应的注解
CLASS 存在Java源文件,以及经编译器后生成的Class字节码文件,但在运行时VM不再保留注释
RUNTIME 存在源文件、编译生成的Class字节码文件,以及保留在运行时VM中,可通过反射性地读取注解
ElementType exp
TYPE 类、接口(包括注解类型)或枚举声明
CONSTRUCTOR 构造方法声明
PACKAGE 包声明
LOCAL_VARIABLE 局部变量声明
METHOD 方法声明
ANNOTATION_TYPE 注解类型声明
PARAMETER 参数声明
FIELD 字段声明(包括枚举常量)

猜你喜欢

转载自blog.csdn.net/fendouwangzi/article/details/83536178