最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
东乡县| 庐江县| 搜索| 鸡泽县| 九龙县| 景德镇市| 库车县| 荣成市| 平遥县| 吴川市| 安溪县| 泽州县| 徐州市| 临沧市| 惠来县| 甘德县| 隆安县| 大悟县| 太保市| 会理县| 连南| 咸宁市| 佛冈县| 抚远县| 西宁市| 吉水县| 汽车| 凉城县| 华蓥市| 东方市| 沙河市| 溧阳市| 昭平县| 印江| 株洲市| 迁安市| 浑源县| 汉寿县| 西宁市| 镇巴县| 鹰潭市|