第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

注解的原理是什么

課程沒有說明怎么實(shí)現(xiàn)的

正在回答

2 回答

你是說為什么注解能做到這個(gè)吧。

官方定義的,類似于在代碼中打一個(gè)標(biāo)記,有分編譯時(shí)和運(yùn)行時(shí)。

對注解進(jìn)行解析的代碼在編譯器和運(yùn)行時(shí)中,簡單說就是編譯器和運(yùn)行時(shí)發(fā)現(xiàn)類似的@xxx就看看是不是有對應(yīng)的注解類型,有就對其進(jìn)行相應(yīng)的處理。

至于如何去找這個(gè)注解標(biāo)記,那就去看看編譯器和jvm的源碼了,一般學(xué)習(xí)不用糾結(jié)。

就好比定義一個(gè)整型變量就是用int,這就是語法!

如果第三方的話,一般是屬于運(yùn)行時(shí)注解,通過反射調(diào)用的。即通過反射調(diào)用某個(gè)方法,加載某個(gè)類等等操作的時(shí)候,獲取注解信息(反射api有提供方法獲?。?,然后針對相應(yīng)的注解進(jìn)行處理。

7 回復(fù) 有任何疑惑可以回復(fù)我~
#1

花絕世

最后針對相應(yīng)的注解進(jìn)行處理,有很多,看你業(yè)務(wù)邏輯。 如:@Autowired注解 public class Xx{ @Autowired private Yy yy; } 通過反射實(shí)例化Xx類的對象時(shí),檢測到有@Autowired注解注解的方法,你就可以創(chuàng)建一個(gè)Yy類的對象,賦值給yy。
2016-06-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

perpetual_sunrise 提問者

非常感謝!
2016-06-18 回復(fù) 有任何疑惑可以回復(fù)我~

- @Retention【關(guān)于注解的生命周期RetentionPolicy】

? ? - .SOURCE,只保留在源文件層面,當(dāng).java被編譯成.class的時(shí)候,此注解被丟棄

? ? - .CLASS,(默認(rèn)值)只保留在class文件,不會(huì)加載到j(luò)vm中。當(dāng)jvm加載class文件的時(shí)候,此注解被丟棄

? ? - .RUNTIME jvm加載被編譯后的class文件后,此注解依然有效

- @Documented【javadoc 文檔相關(guān)】

- @Target【指明了此注解用的范圍,是個(gè)ElementType】

? ? - TYPE :class,interface(當(dāng)然也包括annotation 類型)

? ? - FIELD:屬性,包括一些枚舉常量

? ? - METHOD:方法

? ? - PARAMETER:方法內(nèi)參數(shù)

? ? - CONSTRUSTOR:構(gòu)造方法

? ? - LOCAL_VARIABLE:局部變量

? ? - ANNOTATION_TYPE:注解類型聲明

? ? - PACKAGE:包

? ? - TYPE_PARAMETER:參數(shù)類型

? ? - TYPE_USE

- @Inherited

? ? - 在超類A的注解test被@Inherited注解后,該注解(test)被A'注解(@test),A'的子類就繼承了超類A的注解。(前提是子類沒有被任何注解應(yīng)用)


- @Repeatable【多個(gè)屬性值的注解】

? ? - @Repeatable后面括號的類相當(dāng)于一個(gè)容器注解


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

注解的原理是什么

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號