本文是《Java中注解學(xué)習(xí)系列教程》第三篇文章
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)新河,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220在前兩篇中我們學(xué)習(xí)了注解的定義、JDK內(nèi)置注解、注解分類及自定義注解的寫法。
本文咱們將學(xué)習(xí):
1:自定義注解一些說明
2:自定義注解怎么使用
3:怎么解析自定義注解
一:自定義注解一些說明:
自定義注解的時候,內(nèi)部成員可被允許的類型又有哪些呢?
1:基本類型(Java中8中基本類型)
2:stirng類型
3:class
4:其他注解
5:枚舉類
6:以上五類的數(shù)組
如下圖:
Java官方文檔(https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.1)原文如下:
類型舉例:
需要說明的:
1:如果注解只有一個成員時候,成員名稱必須為value
2:注解類可以沒有成員,沒有成員的注解為:標(biāo)識注解
二:自定義注解的使用
說明:自定義注解根據(jù)其使用范圍使用。
如MyAnnotation1這個自定義注解
使用范圍是是method和field上。
我們就在method的使用該注解:
語法是:
注解名稱(成員名稱 = 成員值,成員名稱2 = 成員值2)
如下圖:
三:注解解析
在使用注解的時候,使用的反射處理的。
public?class?MyAnnotation1Test?{ ????public?static?void?main(String[]?args)?{ ????????try?{ ??????????//1:使用類加載器加載類 ????????????Class?clazz?=?Class.forName("MyAnnotation1PoJo"); ????????????//2:在對于的類上是否存在對于注解 ????????????//獲取方法上是否有注解 ????????????for(Method?method?:?clazz.getMethods()){ ????????????????boolean?isMothExistMyAnnotation1?=?method.isAnnotationPresent(MyAnnotation1.class); ????????????????if(isMothExistMyAnnotation1){ ????????????????????//3:如果存在。就獲取 ????????????????????MyAnnotation1?myAnnotation1?=?(MyAnnotation1)method.getDeclaredAnnotation(MyAnnotation1.class); ????????????????????System.out.println("==>:方法"+method.getName()+"有注解。值為:"+myAnnotation1.value()); ????????????????}else{ ????????????????????System.out.println("==>:方法"+method.getName()+"無注解"); ????????????????} ????????????} ????????}catch?(Exception?e){ ????????????e.printStackTrace(); ????????} ????} }
注:關(guān)于反射方面的學(xué)習(xí)。在后期,凱哥也會出相應(yīng)的學(xué)習(xí)教程。
我們查看運行后的結(jié)果:
可以正常解析出自定義注解的值。
下節(jié)預(yù)告:在下一節(jié)中,凱哥將通過自定義注解實現(xiàn)excel的導(dǎo)出功能
聲明:本文由凱哥Java系列教程中Java注解講解第三篇文章。
本文出處:http://www.kaigejava.com/article/detail/441
凱哥博客:www.kaigejava.com
凱哥公眾號:凱哥Java(kaigejava)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。