中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中注解學習系列教程-3

發布時間:2020-08-24 09:33:18 來源:網絡 閱讀:201 作者:凱哥Java 欄目:編程語言

本文是《Java中注解學習系列教程》第三篇文章

在前兩篇中我們學習了注解的定義、JDK內置注解、注解分類及自定義注解的寫法。

本文咱們將學習:

Java中注解學習系列教程-3

1:自定義注解一些說明

2:自定義注解怎么使用

3:怎么解析自定義注解

一:自定義注解一些說明:

自定義注解的時候,內部成員可被允許的類型又有哪些呢?

1:基本類型(Java中8中基本類型)

2:stirng類型

3:class

4:其他注解

5:枚舉類

6:以上五類的數組

如下圖:

Java中注解學習系列教程-3

Java官方文檔(https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.1)原文如下:

Java中注解學習系列教程-3

類型舉例:

Java中注解學習系列教程-3

需要說明的:

1:如果注解只有一個成員時候,成員名稱必須為value

2:注解類可以沒有成員,沒有成員的注解為:標識注解

二:自定義注解的使用

說明:自定義注解根據其使用范圍使用。

如MyAnnotation1這個自定義注解

Java中注解學習系列教程-3

使用范圍是是method和field上。

我們就在method的使用該注解:

語法是:

注解名稱(成員名稱 = 成員值,成員名稱2 = 成員值2)

如下圖:Java中注解學習系列教程-3

三:注解解析

在使用注解的時候,使用的反射處理的。

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();
????????}
????}
}

Java中注解學習系列教程-3

注:關于反射方面的學習。在后期,凱哥也會出相應的學習教程。

我們查看運行后的結果:

Java中注解學習系列教程-3

可以正常解析出自定義注解的值。

下節預告:在下一節中,凱哥將通過自定義注解實現excel的導出功能

聲明:本文由凱哥Java系列教程中Java注解講解第三篇文章。

本文出處:http://www.kaigejava.com/article/detail/441

凱哥博客:www.kaigejava.com

凱哥公眾號:凱哥Java(kaigejava)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎囊县| 尚义县| 曲麻莱县| 安丘市| 板桥市| 闻喜县| 虹口区| 新巴尔虎右旗| 应城市| 惠安县| 丰台区| 铜川市| 兴山县| 东宁县| 阿瓦提县| 京山县| 新河县| 齐河县| 玛多县| 筠连县| 南靖县| 灌阳县| 安西县| 黄骅市| 乐陵市| 新乡市| 南江县| 泸西县| 马龙县| 乌兰县| 称多县| 绥阳县| 革吉县| 沙坪坝区| 沾益县| 芦山县| 铅山县| 沁水县| 错那县| 鹤壁市| 万全县|