2. 注解Annotation

news/2024/11/20 11:21:19/

Java注解(Annotation)又称为Java标注,是JDK5.0引入的一种注释机制.注解是原数据的一种形式,提供有关于程序但不属于程序本身的数据.注解对他们注解的代码的操作没有直接的影响.

声明方式
注解的声明方式使用@interface关键字,举例说明:

public @interface MyInject{
}

元注解

  1. @Target 用来限制可以使用注解的Java元素类型
    • ElementType.ANNOTATION_TYPE 注解类型
    • ElementType.CONSTRUCOR 注解构造函数
    • ElementType.FIELD 注解字段或属性
    • ElementType.LOCAL_VARIABLE 注解局部变量
    • ElementType.METHOD 注解方法
    • ElementType.PACKAGE 注解包
    • ElementType.PARAMETER 注解方法的参数
    • ElementType.TYPE 注解类的任何元素
  2. @Retention 指定标记注解的存储方式
    • RetentionPolicy.SOURCE 标记的注解仅保留在源码级别中,但会被编译器忽略
    • Retention.CLASS 标记的注解在编译时由编译器保留,但会被虚拟机(JVM)忽略
    • Retention.RUNTIME 标记的注解由JVM保留,因此运行时环境可以实用它.

APT注解处理器(Annotation Processor Tools)
用于处理注解.注解处理器是javac自带的一个工具,用来在编译时期扫描处理注解信息,你可以为某些注解注册自己的注解处理器.
注册的注解处理器由javac调起,并将注解的信息传递给注解处理器进行处理.

注解处理器是对注解应用最为广泛的场景.在Glide、EventBus、ButterKnife、Tinker、ARouter等常用框架中都有使用.

CLASS
定义为class级别的注解,会被保留在class文件中,但是会被虚拟机忽略(即无法在运行期间反射获取注解).此时完全符合这种注解的应用场景为字节码操作,如:ASpect、热修复Robust

RUNTILE
注解保留到运行期间,意味着我们可以在运行期间结合反射技术获取注解中的所有信息.


http://www.ppmy.cn/news/66786.html

相关文章

IDEA “Cannot resolve symbol” 解决办法

系列文章目录 文章目录 系列文章目录前言一、Cannot resolve symbol是什么问题?二、第一步:检查Maven配置三、第二步:检查target四、 第三步:检查 project五、第四步:lombok 问题总结 前言 请耐心读完,也许…

网络路径下倾斜模型生产流程-空三计算,像控刺点

网络路径下倾斜模型生产流程-空三计算,像控刺点 1.新建工程 ①新建工程文件夹 确定本机的网络路径,如演示机为192.168.100.10 在网络路径下新建工程文件夹,如//192.168.100.10/e/YNPE27 在工程文件夹下,新建工程存储文件夹CC和照片…

驱动设计的思想:面向对象/分层/分离(以LED操作为例)

1. 面向对象 字符设备驱动程序抽象出一个file_operations结构体; 对于LED,写的程序针对硬件部分抽象出led_operations结构体。 2. 分层 上下分层,之前写的LED驱动程序就分为2层: ① 上层实现硬件无关的操作,比如注册…

Vue3-黑马(二)

目录: (1)vue3-ref与reactive (2)vue3-基础-属性绑定与事件绑定 (3)vue3-基础-表单绑定 (1)vue3-ref与reactive ref函数可以把普通的数据变成响应式的数据&#xff0…

代码可读性艺术在Andorid中的体现

前言 最近接手的一些项目,不同的人编码风格迥异,类里的变量、方法的定义穿插,注释极为稀少,更有一些变量和方法的命名非常近似,例如表示播放队列的"playQueue"和表示歌单的"playList",wtf? 这不是一个意思吗?一些回调的时机也不能直观的看出来,通常需要…

【华为OD机试真题】最小的调整次数(python版)100%通过率 超详细代码注释 代码解读

【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ 最小的调整次数 知识点队列栈 时间限制:1s空间限制:256MB限定语言:不限 题目描述: 有一个特异性…

近1500支队伍、6000名开发者齐聚,第三届Light技术公益创造营收官

在很多老年人看来,融入数字生活并不容易,经常误点广告、不时接到诈骗电话、不会操作智能手机……但有些老年人并不担心这些,“误点了付款,有人会打电话过来,提醒我不要被骗了。”一位老人放心地进行着“网上冲浪”。而…

如何将m4v转换成mp4格式?这些方法极速无损

如何将m4v转换成mp4格式?众所周知,M4V文件格式是一个由苹果公司开发的视频文件格式,它通常用于iTunes Store中售卖和租赁的电影、电视节目等内容。但是,在某些情况下,我们可能无法在其他设备或软件上播放M4V文件&#…