在上一篇文章中,我們講解了:Java中注解的定義、JDK中內(nèi)置注解、第三方注解。
創(chuàng)新互聯(lián),為您提供重慶網(wǎng)站建設(shè)公司、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)陽臺護(hù)欄等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!本文是注解系列教程中的第二篇。來看看今天主要內(nèi)容:
0e5bfb282785e6d50be398c29a4d9267.png
1:注解的分類
2:元注解說明
3:自定義注解聲明
一:注解的分類
c03d16d65e241c90e669f077a650bb64.png
注解根據(jù)運(yùn)行機(jī)制、來源、功能來分:
1.1:按照運(yùn)行機(jī)制來分,即時注解存在于程序的哪個階段
e0c7d7da2e69a56219d73cd8be1c4454.png
源碼注解(source):在源碼中存在的。
如:lombak的@data注解:
5bea68c9466087e5e29d6a07d6243893.png
編譯注解(class):編譯期。既是在源碼和class中都有的。
JDK自帶的三個注解(@Override(重寫、覆蓋)、@Deprecated(廢棄的,過時的)、@Suppvisewarnings(壓縮警告))都是編譯期的注解
舉例: override
0362f1164684a55d250ef62a5774a78a.png
運(yùn)行是注解(runtime):在運(yùn)行階段任然起作用的,甚至?xí)绊戇\(yùn)行邏輯。
如:spring 的autowired注解:
f39084e8c5e64a0834714f102eca9160.png1.2:按照來源來區(qū)分,既是注解從哪里來的
按照來源來區(qū)分分為:JDK自帶的注解、第三方注解、自定義注解
如下圖:
e53b73770958773c2e330afeeb8c1007.png
1.3:按照功能來區(qū)分:
按照功能來區(qū)分,可以分為:元注解和非元注解。如下圖:
afafe3546c589b9575096a6827d8b692.png
二:元注解說明
2.1:什么是元注解?
元注解是指注解的注解。JAVA中元注解主要包括以下四個:
7ac1431ceef05b2463a25ba3da4a9cd7.png
2.2:@Target
target注解的作用:標(biāo)注注解的作用域。如果有多個作用域用英文逗號進(jìn)行分割
target注解作用域有哪些?
構(gòu)造器、字段、局部變量、方法、包、參數(shù)、接口。具體如下圖:
f04c44ad40c7473701ac705c2bbfd82d.png
e6e365e0dbc15a00bebd6df6df9def1a.png
2.3:@Retention
retention的作用:注解的生命周期。
注解生命周期有哪些呢?
只在源碼顯示的souce、編譯期的class、運(yùn)行時候存在的runtime。如下圖:
b19e1e745582b64fb7031b7e68f3e3c3.png
生命周期大小:
4dc0e0c220fc15304fe3ab2bb5460028.png
2.4:@Inherited
inherite:標(biāo)識性的元注解。標(biāo)識當(dāng)前的注解可以由子注解繼承
de34f5ca04abc46443777f3f189cce47.png
2.5:@Documented
documented:在生成文檔的時候,會被包含
cbb4bfcc5975de05f4f84e3ebd1f28b6.png
三:自定義注解的寫法:
@Target({ElementType.METHOD, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)
br/>@Retention(RetentionPolicy.RUNTIME)
br/>@Documented()
public abstract String value();
}
9c58e2d4fa3ef4e29cf4a65c78ab272d.png
聲明:本文是由凱哥(凱哥Java)發(fā)布的Java注解學(xué)習(xí)系列教程第二篇。未經(jīng)允許,不得轉(zhuǎn)載
本文出處:http://www.kaigejava.com/article/detail/440
凱哥博客:www.kaigejava.com
凱哥公眾號:凱哥Java(kaigejava)
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
本文標(biāo)題:Java中注解學(xué)習(xí)系列教程-2-創(chuàng)新互聯(lián)
URL鏈接:http://jinyejixie.com/article4/egeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、關(guān)鍵詞優(yōu)化、小程序開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站制作、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容