五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java高級(jí)特性01-怎么使用自定義注解

2023-06-11 22:46 作者:懶人Java屈原  | 我要投稿

自定義注解是Java高階語(yǔ)言特性,在各種三方框架中經(jīng)常能見到它們的身影。自定義注解能夠使你編寫高可維護(hù)性、更具靈活性的代碼。在這篇博文中,我們將探索Java的自定義注解世界,并學(xué)習(xí)如何有效地利用它們

1.什么是自定義注解

注解Annotation是以元數(shù)據(jù)的形式在Java5中引入,它添加到Java代碼里,如Java類(class)、方法、屬性甚至是其他注解。它們給代碼提供了額外的信息,在三方框架和庫(kù)用于生成代碼、執(zhí)行驗(yàn)證或在運(yùn)行時(shí)應(yīng)用某些行為時(shí)進(jìn)行使用。自定義注解顧名思義,是你自己定義的注解。它們?cè)试S你根據(jù)自己的需求,擴(kuò)展Java現(xiàn)有的注解集合。

2.Java自帶注解

Java常見的一些注解有,@Override:用于檢查方法是否是重寫父類的方法。@FunctionalInterface:用于檢查接口是否是函數(shù)式接口。@Deprecated:用于標(biāo)注方法已經(jīng)過時(shí),不推薦使用。除了這些注解還有其他注解,

3.什么是元注解

用于其他注解的注解稱為元注解。在java.lang.annotation中定義了幾種元注解類型。

  • @Retention

  • @Documented

  • @Target

  • @Inherited

  • @Repeatable

3.1@Retention注解

RetentionPolicy.SOURCE:注解只保留在源碼中,編譯器會(huì)丟棄掉

RetentionPolicy.CLASS:注解將保留在.class文件里,但在運(yùn)行時(shí)不會(huì)保留

RetentionPolicy.RUNTIME:注解將保留在.class文件中,并且jvm會(huì)保留,可以通過反射讀取

如果注解類型聲明中不存在Retention注解,則Retention默認(rèn)為 RetentionPolicy.CLASS。

3.2 @Documented注解

帶有該類型的注解會(huì)被javadoc和其他類似工具進(jìn)行文檔化。

3.3 @Target注解

此注解用來進(jìn)行限定可以使用該注解的Java元素類型,它有以下幾種類型

ElementType.TYPE:允許被修飾的注解作用在類、接口(包括注解類型)和枚舉上

ElementType.FIELD:允許作用在屬性字段上(包括枚舉常量)

ElementType.METHOD:允許作用在方法上

ElementType.PARAMETER:允許作用在方法參數(shù)上

ElementType.CONSTRUCTOR:允許作用在構(gòu)造器上

ElementType.LOCAL_VARIABLE:允許作用在本地局部變量上

ElementType.ANNOTATION_TYPE:允許作用在注解上

ElementType.PACKAGE:允許作用在包上

ElementType.TYPE_PARAMETER 應(yīng)用于類型變量的聲明語(yǔ)句前。

ElementType.TYPE_USE 應(yīng)用于所有使用類型的任何語(yǔ)句(如:泛型,類型轉(zhuǎn)換等)

3.4 @Inherited注解

如果一個(gè)類用上了@Inherited修飾的注解,那么其子類也會(huì)繼承這個(gè)注解

  1. 接口用上個(gè)@Inherited修飾的注解,其實(shí)現(xiàn)類不會(huì)繼承這個(gè)注解

  2. 父類的方法用了@Inherited修飾的注解,子類也不會(huì)繼承這個(gè)注解

3.5 @Repeatable注解

Java8 之前禁止對(duì)同樣的注解類型聲明多次,用這個(gè)元注解表示申明的注解是可以重復(fù)的,舉個(gè)例子


4.如何定義一個(gè)自定義注解

如上面的代碼TaskCondition就是一個(gè)自定義注解,自定義注解是@interface關(guān)鍵詞開頭。加上元注解進(jìn)行搭配

5.如何獲取自己定義的注解

從字段上獲取自定義注解

從方法上讀取注解


Java高級(jí)特性01-怎么使用自定義注解的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
遂平县| 南城县| 澜沧| 招远市| 西畴县| 桃源县| 阜阳市| 涪陵区| 逊克县| 南丰县| 侯马市| 江安县| 北宁市| 东源县| 延庆县| 南乐县| 祁连县| 瓦房店市| 威信县| 怀安县| 双辽市| 化州市| 惠州市| 肃南| 平邑县| 宝兴县| 永登县| 宁河县| 黄山市| 玉门市| 阿图什市| 偏关县| 广宗县| 铁岭县| 垦利县| 出国| 肃宁县| 西乌| 盈江县| 米易县| 渑池县|