Java中的注解到底是如何工作的?

0版本中被引入,其目的是用于描述数据,我们可以把他当作标签,每加上一个注解就相当于给类/方法/字段贴上来标签,而标签的作用我们很明白,通过标签我们可以知道这个类/方法/字段是做什么的。简单的说,注解只是标签,而标签具有的功能是由前端编译器在

什么是注解

注解是在Java5.0版本中被引入java中webapi是什么,其目的是用于描述数据,我们可以把他当作标签,每加上一个注解就相当于给类/方法/字段贴上来标签,而标签的作用我们很明白,通过标签我们可以知道这个类/方法/字段是做什么的。

为什么使用注解

在程序开发中,如果我们看到@,我们是很容易理解它的作用就是对实现方法的重写,而这也达到设计之初的目标,即描述数据。

继续以为例子,我们在实现父类方法的时候通常会带上该注解java中webapi是什么,但是我们不带也不会对运行有任何影响,但是如果我们把注解放到非实现的方法上,编译就会报错。也就是说注解会告诉编译我是做什么的,如果我做的和预期不一样,那么编译器会对我们程序进行纠错,即对不合注解含义的业务进行处理(这个处理不是注解去处理,只是看上去像是注解的作用)。

Java中的注解到底是如何工作的?

注解如何工作

对于@使用在非父类方法上编译报错的情况,我们最初接触的时候可能会认为这些报错的作用是注解的作用,但是实际上并不全是,这是因为注解仅仅是标签亦或者说是元数据。他的作用一开始仅仅是为类描述数据,而后衍生出来的各种功能是由前端编译器在编译成class的时候会有一个专门的注解处理器,是他在编译过程中对诸多注解,如@,会有专门的代码完成@标志的业务逻辑。简单的说,注解只是标签,而标签具有的功能是由前端编译器

在生成语法树之后有专门的代码去实现。

如果我们有使用自定义注解的经验,我们会发现如果我们单单定义一个注解放在类/方法/字段上,那么它只有一个标签的效果,并没有什么实际的意义,比如我们自定义注解,表达不能为空,我们将其注解加入到字段上,即使传空也没有任何问题,这是因为没有相应业务的支持。如果想要达到想要的效果,我们就需要专门写业务逻辑去实现这个功能

希望我的回答能对您有所帮助。

本文到此结束,希望对大家有所帮助。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至81118366@qq.com举报,一经查实,本站将立刻删除。发布者:简知小编,转载请注明出处:https://www.jianzixun.com/92148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

软文友链广告合作联系站长qq81118366