什么是注解
注解是在Java5.0版本中被引入java中webapi是什么,其目的是用于描述數(shù)據(jù),我們可以把他當(dāng)作標(biāo)簽,每加上一個(gè)注解就相當(dāng)于給類/方法/字段貼上來(lái)標(biāo)簽,而標(biāo)簽的作用我們很明白,通過(guò)標(biāo)簽我們可以知道這個(gè)類/方法/字段是做什么的 。
為什么使用注解
在程序開(kāi)發(fā)中,如果我們看到@,我們是很容易理解它的作用就是對(duì)實(shí)現(xiàn)方法的重寫(xiě),而這也達(dá)到設(shè)計(jì)之初的目標(biāo) , 即描述數(shù)據(jù) 。
繼續(xù)以為例子,我們?cè)趯?shí)現(xiàn)父類方法的時(shí)候通常會(huì)帶上該注解java中webapi是什么,但是我們不帶也不會(huì)對(duì)運(yùn)行有任何影響,但是如果我們把注解放到非實(shí)現(xiàn)的方法上,編譯就會(huì)報(bào)錯(cuò) 。也就是說(shuō)注解會(huì)告訴編譯我是做什么的,如果我做的和預(yù)期不一樣,那么編譯器會(huì)對(duì)我們程序進(jìn)行糾錯(cuò),即對(duì)不合注解含義的業(yè)務(wù)進(jìn)行處理(這個(gè)處理不是注解去處理,只是看上去像是注解的作用) 。

文章插圖

文章插圖
注解如何工作
對(duì)于@使用在非父類方法上編譯報(bào)錯(cuò)的情況 , 我們最初接觸的時(shí)候可能會(huì)認(rèn)為這些報(bào)錯(cuò)的作用是注解的作用,但是實(shí)際上并不全是 , 這是因?yàn)樽⒔鈨H僅是標(biāo)簽亦或者說(shuō)是元數(shù)據(jù) 。他的作用一開(kāi)始僅僅是為類描述數(shù)據(jù),而后衍生出來(lái)的各種功能是由前端編譯器在編譯成class的時(shí)候會(huì)有一個(gè)專門(mén)的注解處理器,是他在編譯過(guò)程中對(duì)諸多注解,如@,會(huì)有專門(mén)的代碼完成@標(biāo)志的業(yè)務(wù)邏輯 。簡(jiǎn)單的說(shuō) , 注解只是標(biāo)簽,而標(biāo)簽具有的功能是由前端編譯器
【Java中的注解到底是如何工作的?】在生成語(yǔ)法樹(shù)之后有專門(mén)的代碼去實(shí)現(xiàn) 。
如果我們有使用自定義注解的經(jīng)驗(yàn),我們會(huì)發(fā)現(xiàn)如果我們單單定義一個(gè)注解放在類/方法/字段上,那么它只有一個(gè)標(biāo)簽的效果,并沒(méi)有什么實(shí)際的意義,比如我們自定義注解 , 表達(dá)不能為空,我們將其注解加入到字段上,即使傳空也沒(méi)有任何問(wèn)題,這是因?yàn)闆](méi)有相應(yīng)業(yè)務(wù)的支持 。如果想要達(dá)到想要的效果,我們就需要專門(mén)寫(xiě)業(yè)務(wù)邏輯去實(shí)現(xiàn)這個(gè)功能
希望我的回答能對(duì)您有所幫助 。
本文到此結(jié)束,希望對(duì)大家有所幫助 。
- 【Java 】什么叫耦合,什么叫解耦
- “++”在前還是在后有什么區(qū)別?聊聊Java里面的奇怪語(yǔ)法
- 每一位Java程序員的夢(mèng)想工廠?復(fù)盤(pán)阿里面試高頻300題送給你
- 程序員篇 ChatGPT在各領(lǐng)域中的應(yīng)用
- 食品標(biāo)簽中的5個(gè)小秘密,您發(fā)現(xiàn)了嗎?
- 移動(dòng)硬盤(pán)中的文件夾拒絕訪問(wèn),怎么解決?
- ?蘑菇屬于啥類
- 如何用Excel表格中的數(shù)據(jù)制作成雷達(dá)圖
- ?翅根和翅中的區(qū)別有哪些
- 角色動(dòng)畫(huà)中的肢體語(yǔ)言,動(dòng)畫(huà)角色情緒/情感表達(dá)
