亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

武定县| 准格尔旗| 普陀区| 临清市| 翼城县| 竹山县| 汕头市| 衡水市| 庆安县| 汉川市| 马龙县| 佛坪县| 木兰县| 德兴市| 炎陵县| 安阳市| 舞钢市| 拜泉县| 图们市| 郸城县| 兰考县| 湖州市| 穆棱市| 庆城县| 昌邑市| 淄博市| 巴里| 潜山县| 汾阳市| 隆昌县| 政和县| 孙吴县| 老河口市| 永吉县| 北海市| 塔城市| 新密市| 大理市| 普兰店市| 孟津县| 汝城县|