0
点赞
收藏
分享

微信扫一扫

java注解到底是啥

IT影子 2022-01-20 阅读 55
java

来自官网的定义

先看一下官网怎么说的
An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annotate.
它说的是,注解是metadata,这个单词是什么意思呢,搜一下可以知道,它叫元数据,meta被翻译成元,也查不到第一次是谁翻译的,不同语言的转换,由于翻译的个人性格问题,信息损失是在所难免的,翻译成元,信息损失大了去了,meta查一下可以得知,它的意思是形容词更高一级,超出在…之上的意思,表达更进一层次的形容词意,具体是更进什么层次,要看具体修饰什么,比如metaverse,它叫元宇宙,它的意思是更进一层次的宇宙,这个更高级的宇宙,是计算机提供的虚拟现实宇宙,只要满足虚拟现实,就是元宇宙,只是高级不高级的区别罢了,比如摩尔庄园是元宇宙,一局王者荣耀也是。而metadata,更高级的信息是这样的信息,这个信息是用来描述信息的信息,他就叫metadata。然后它是用于修饰,代码里各种语意目标的,对象,变量,函数,类等,都可以被这个元数据修饰,而这个元数据就是注解

更进一步

知道了什么是注解,还需要明白什么是metaannotation,元注解,更高级别的注解,不就是,修饰注解的注解,元注解的作用是只能对自定义注解进行注解,定义你这个注解可以修饰什么语意目标,是类,是变量,还是函数等,还有他们的修饰范围,对自定义注解的功能做出限定。除了五个元注解外,其他注解都是修饰代码里的语意目标的。
其中基本注解,比如@override是java提供的注解,这个注解也是通过五个元注解定义的。

使用注解

那么使用注解,对函数,类等语意目标注解后,有啥用呢? 对它们进行注解后,我们就可以通过反射,获取到这个函数,类等语意目标的Class对象,进而获取注解了什么信息,/*这些注释,只能在编辑器里获取查看,而注解可以在程序运行的时候获取查看。

举报

相关推荐

0 条评论