什么是注解(运行期)-灵析社区

chole

注解就是配置在类、方法或属性上的额外的信息,运行期注解可以在反射中被读取到。

注解定义

public @interface 注解类名

我们还可以给注解配置元注解信息,元注解就是配置在注解上的注解。通过给我们定义的注解配置元注解,来定义注解的用途。比如@Target和@Retention就是两个常用的元注解。

@Target可以指定注解配置的地方,例如@Target(ElementType.TYPE)。

取值说明
ElementType.TYPE应用于类、接口(包括注解类型)、枚举
ElementType.FIELD应用于属性(包括枚举中的常量)
ElementType.METHOD应用于方法
ElementType.PARAMETER应用于方法的形参
ElementType.CONSTRUCTOR应用于构造函数
ElementType.LOCAL_VARIABLE应用于局部变量
ElementType.ANNOTATION_TYPE应用于注解

@Retention可以指定注解的类型,例如@Retention(RetentionPolicy.RUNTIME)。

取值说明
RetentionPolicy.SOURCE编译时被丢弃,只标记源码,用于源码阅读
RetentionPolicy.CLASS编译期注解
RetentionPolicy.RUNTIME运行期注解

注解使用

将注解声明在元素的左边

运行期注解读取

运行期注解的读取基于反射。调用该类字节码class对象的getAnnotation()方法就可以拿到该注解了。然后我们就可以调用注解上面的方法获取我们想要的配置信息了。注意注解默认有一个value属性,它是可以直接调用的。

阅读量:546

点赞量:0

收藏量:0