@Retention注解详解

一、介绍:
@Retention是用来修饰注解的,注解的注解,也称为元注解

二、作用:
@Retention修饰注解,用来表示注解的生命周期,生命周期的长短取决于@Retention的属性RetentionPolicy指定的值,例如@Retention(RetentionPolicy.RUNTIME)

取值

描述

作用范围

使用场景

RetentionPolicy.SOURCE

表示注解只保留在源文件,当java文件编译成class文件,就会消失

源文件

只是做一些检查性的操作,,比如 @Override 和 @SuppressWarnings

RetentionPolicy.CLASS

注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期

class文件(默认)

要在编译时进行一些预处理操作,比如生成一些辅助代码(如 ButterKnife)

RetentionPolicy.RUNTIME

注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在

运行时也存在

需要在运行时去动态获取注解信息

上面三种类型生命周期:SOURCE<CLASS<RUNTIME,使用RUNTIME会包含前面两个生命周期

posted @   姚春辉  阅读(1169)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示