gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

如何更好地使用java注解

如何更好地使用java注解

什么是注解?

注解(Annotation),也叫元數據。一種代碼級別的說明。它是JDK1.5及以后版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數等的前面,用來對這些元素進行說明,注釋。

我們可以把注解理解為代碼里的特殊標記,這些標記可以在編譯,類加載,運行時被讀取,并執行相應的處理。通過注解,開發人員可以在不改變原有代碼和邏輯的情況下,在源代碼中嵌入補充信息。

1、注解的作用

編寫文檔:通過代碼里標識的注解生成文檔【生成文檔doc文檔】

代碼分析:通過代碼里標識的注解對代碼進行分析【使用反射】

編譯檢查:通過代碼里標識的注解讓編譯器能夠實現基本的編譯檢查【@Override】

2、JDK中預定義的注解

@Override

檢測被該注解標注的方法是否是繼承自父類(接口)的。

@Deprecated

該注解標識的內容,表示已過時,使用的時候,會有一個橫線。

SuppressWarnings

壓制警告,一般傳遞參數all @SuppressWarnings(“all”)。

(視頻教程推薦:java視頻)

3、自定義注解

格式

public @interface 注解名稱 { 	屬性列表; }

本質:注解本質上就是一個接口,該接口默認繼承Annotation接口,可以通過javap 類名.class命令反編譯class文件

public interface MyAnno extends java.lang.annotation.Annotation { }

屬性:

注解中的屬性,就是接口中的抽象方法。

要求:

屬性的返回值類型只能是以下類型

基本數據類型

String

枚舉

注解

以上類型的數組

public @interface MyAnno {     int age();     String name();     //枚舉類型     Person per();     //注解類型     MyAnno2 anno2();     //數組類型     String[] strs(); }  //枚舉類Person public enum Person {     P1,P2; }

注意:

定義了屬性,在使用時必須給屬性賦值,多個屬性之間用逗號隔開,所以,一般注解中方法名一般取成屬性名;

如果定義屬性時,使用default關鍵字給屬性默認初始化值,則使用時,可以不用給屬性賦值;

如果只有一個屬性需要賦值,并且屬性的名稱是value,則value可以省略,直接定義屬性值;

數組賦值時,值使用{}包裹。如果數組中只有一個值,則{}可以省略。

@MyAnno(age=20, name="zhangsan", per=Person.P1, anno2=@MyAnno2, strs={"zhangsan","lisi"}) public class Test { }

元注解:用于描述注解的注解

@Target

當前被描述的注解能夠作用的位置,該注解只有一個屬性是value,返回值是ElementType枚舉類型的數組。

ElementType 的常用值:

TYPE:可以作用于類上

METHOD:可以作用于方法上

FIELD:可以作用于成員變量上

@Rentention

描述注解被保留的階段,該注解只有一個屬性value,返回值是RetentionPolicy枚舉類型

RetentionPolicy 的值

SOURCE:當前被描述的注解,不會保留到class文件中

CLASS:當前被描述的注解,會保留到class字節碼文件中,但是不會被JVM讀取到

RUNTIME:當前被描述的注解,會保留到class字節碼文件中,并被JVM讀取到,自定義的值,一般都取這個值

@Documented

當前被描述的注解是否被抽取到api文檔中

@Inherited

當前被描述的描述注解是否被子類繼承

一般經常用到的是前兩個元注解。

4、注解的使用

在程序中使用注解:獲取這幾中定義的屬性值

// pro 注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface pro {     String className();     String methodName(); }  //在程序中使用注解 @pro(className="anli.Demo1", methodName = "show1") public class UseAnno {     public static void main(String[] args) throws Exception {         //獲取這個類的class對象         Class<UseAnno> useAnnoClass = UseAnno.class;         //獲取指定的注解類子類對象         pro proAnno = useAnnoClass.getAnnotation(pro.class);         //執行注解中的方法,獲取注解中屬性的值         String className = proAnno.className();         String methodName = proAnno.methodName();     }

通過Class類中的getAnnotation()方法,獲得的是注解類的實現類的對象,有了對象,就可以執行注解中的方法,返回值就是使用注解時設置的屬性值。其實就是在內存中生成了一個該注解接口的子類實現對象

	 public class ProImpl implements Pro{           public String className(){                return "cn.itcast.annotation.Demo1";            }            public String methodName(){                return "show";            }        }

推薦教程:java開發入門

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
www国产黄色| 亚洲人视频在线| 五月婷婷六月丁香激情| 成年人网站国产| 欧美伦理片在线观看| 久久久久久久午夜| 精品91一区二区三区| 婷婷丁香激情网| 国产精品无码一区二区在线| 国产免费内射又粗又爽密桃视频| 欧美大尺度做爰床戏| 国产在线视频三区| av动漫在线观看| 久无码久无码av无码| www.亚洲成人网| 国产三级三级三级看三级| 国产精品亚洲a| 少妇大叫太大太粗太爽了a片小说| 日本中文字幕网址| 乱子伦一区二区| 日韩视频在线视频| 在线免费观看av的网站| 天天做天天躁天天躁| www国产黄色| 成人免费xxxxx在线视频| 午夜视频在线瓜伦| 国产精品av免费| 色欲av无码一区二区人妻| 奇米777四色影视在线看| 992tv成人免费观看| 国产成人黄色片| 99热手机在线| 日韩av卡一卡二| 欧美 亚洲 视频| 日韩av加勒比| 狠狠噜天天噜日日噜| 黄色网络在线观看| 精品久久久久久无码中文野结衣| 4444在线观看| 国产视频在线观看网站| 国产黄色一级网站| 制服丝袜中文字幕第一页| 日韩不卡的av| 黄色片免费网址| 中文字幕第50页| 国内自拍第二页| 国产自产在线视频| 黄色免费高清视频| 亚洲高潮无码久久| 国产又黄又大又粗视频| 亚洲欧美天堂在线| 男人操女人免费软件| 欧美一级视频在线播放| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产免费色视频| 精品中文字幕av| 亚洲xxxx2d动漫1| 国产1区2区3区中文字幕| av日韩一区二区三区| 欧美黄网在线观看| 黑森林福利视频导航| caoporn超碰97| www.午夜色| 黄色a级片免费| 秋霞在线一区二区| 欧美综合在线观看视频| 久久观看最新视频| 亚洲一区日韩精品| 激情五月开心婷婷| 久久这里只有精品8| 国产精品天天av精麻传媒| 国产91在线亚洲| 中国黄色片一级| 日韩av资源在线| 99在线免费视频观看| 久久久国产精华液999999| 午夜免费视频网站| 日本激情视频在线| 亚洲精品无码久久久久久| 99久久久精品视频| 亚洲激情免费视频| 妞干网在线视频观看| 人人爽人人av| 波多野结衣av一区二区全免费观看| 四季av一区二区| 免费无码av片在线观看| 日日橹狠狠爱欧美超碰| 日韩精品综合在线| 激情五月婷婷六月| 69精品丰满人妻无码视频a片| 少妇熟女一区二区| 色婷婷综合在线观看| 亚洲五月激情网| 久久艹这里只有精品| 天天综合中文字幕| 黄色污污在线观看| 男人日女人的bb| 国产 欧美 日韩 一区| 成年人视频网站免费| 妺妺窝人体色777777| 亚洲熟妇无码一区二区三区导航| 国产精品久久久久久久乖乖| 免费国产黄色网址| 国产最新免费视频| 久久99999| 国产盗摄视频在线观看| 日本免费色视频| 超碰网在线观看| www.com毛片| 青青在线免费观看视频| 国产又粗又长又大的视频| 911福利视频| 9l视频自拍9l视频自拍| 免费无码毛片一区二三区| 无码精品a∨在线观看中文| 免费黄色日本网站| 国内自拍视频网| 青青视频免费在线| 激情网站五月天| 特级毛片在线免费观看| 成人免费播放器| 亚洲国产日韩欧美在线观看| 9999在线观看| 人妻内射一区二区在线视频| 日韩av片免费观看| 亚洲不卡中文字幕无码| 欧美午夜aaaaaa免费视频| 国产一级免费大片| 激情六月丁香婷婷| 91精品国产三级| 农村妇女精品一二区| 久久精品久久99| 激情六月丁香婷婷| 青青青免费在线| 色婷婷激情视频| 成人一区二区免费视频| 嫩草影院国产精品| 男人插女人视频在线观看| 成人日韩在线视频| 九九爱精品视频| 久久精品在线免费视频| 国产喷水theporn| 免费高清在线观看免费| 成人一区二区av| 三级性生活视频| 九热视频在线观看| 情侣黄网站免费看| 成人黄色av片| 国产免费一区二区视频| 小早川怜子一区二区三区| 国产九九在线视频| 男人操女人免费软件| 亚洲精品无码国产| 超碰人人爱人人| 日韩人妻精品一区二区三区| 老司机午夜性大片| 性欧美1819| 五月天av在线播放| 精品亚洲一区二区三区四区| 国产欧美高清在线| 免费日韩中文字幕| 在线观看三级网站| 夜夜夜夜夜夜操| 国产一线二线三线在线观看| 国产91xxx| 日日碰狠狠添天天爽超碰97| 无码 制服 丝袜 国产 另类| 麻豆一区二区三区在线观看| 艳母动漫在线免费观看| 青娱乐精品在线| 7777在线视频| 日韩精品久久一区二区| 无码 制服 丝袜 国产 另类| 高清欧美精品xxxxx| 欧美s码亚洲码精品m码| 人妻熟女一二三区夜夜爱| 不要播放器的av网站| 亚洲欧美在线精品| 1314成人网| 成人免费视频91| 日日碰狠狠躁久久躁婷婷| 日日躁夜夜躁aaaabbbb| 熟妇熟女乱妇乱女网站| 成年丰满熟妇午夜免费视频| 你懂的av在线| 日韩一区二区三区不卡视频| 国产精品99久久久久久大便| 台湾无码一区二区| 国产精品少妇在线视频| 午夜啪啪小视频| 国产原创popny丨九色| 韩国中文字幕av| 精品人妻人人做人人爽| 免费在线a视频| 亚洲第一区第二区第三区| 黄色一级大片在线观看| 福利片一区二区三区| 青青青在线观看视频| 污污的网站18| 国产aaa免费视频|