@Retention
Summary::用于描述注解保留阶段
样例
@Retention(RetentionPolicy.RUNTIME)
public @interface DemoAnnotation {
}
括号后面的变量就标识注解的保留位置(枚举RetentionPolicy)
RetentionPolicy可选值:
- SOURCE: 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。
- CLASS: 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。
- RUNTIME: 注解可以保留到程序运行的时候,它会被加载进入到 JVM 中,所以在程序运行时可以通过反射获取到它们。
源码样例见编程语言/Java/注解/RetentionTest.java · 航海小能手/计算机系统学习demo - 码云 - 开源中国 (gitee.com)