欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JDK 5 提供的注解:Target、Inherited和Documented的區(qū)別

 更新時(shí)間:2016年02月29日 23:55:36   投稿:mdxy-dxy  
這篇文章主要介紹了JDK 5 提供的注解:Target、Inherited和Documented的區(qū)別,需要的朋友可以參考下

JDK 5提供的注解,除了Retention以外,還有另外三個(gè),即Target 、Inherited 和 Documented。

Target 目標(biāo)即Target注解用在哪里, 定義了注解使用的時(shí)機(jī),即注解所適用的程序元素的種類。如果注解類型聲明中不存在 Target 元注解,則聲明的類型可以用在任一程序元素上。如果存在這樣的元注解,則編譯器強(qiáng)制實(shí)施指定的使用限制。

Target 定義如下:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
  ElementType[] value();
}

可以看到,Target 只有一個(gè)value屬性,類型為枚舉類型ElementType。ElementType 聲明如下:

public enum ElementType {
  /** 注解可以用在類、接口(包括注解類型)或枚舉聲明 */
  TYPE,
  /** 字段聲明(包括枚舉常量) */
  FIELD,
  /** 方法聲明 */
  METHOD,
  /** 參數(shù)聲明 */
  PARAMETER,
  /** 構(gòu)造方法聲明 */
  CONSTRUCTOR,
  /** 局部變量聲明 */
  LOCAL_VARIABLE,
  /** 注解類型聲明 */
  ANNOTATION_TYPE,
  /** 包聲明 */
  PACKAGE
}

Documented注解表明制作javadoc時(shí),是否將注解信息加入文檔。如果注解在聲明時(shí)使用了@Documented,則在制作javadoc時(shí)注解信息會(huì)加入javadoc。注解聲明如下:

@Documented
@Retention(value=RUNTIME)
@Target(value=ANNOTATION_TYPE)//說明該注解只能在聲明注解時(shí)使用,即元注解
public @interface Documented {}

Inherited 注解同樣是元注解,聲明如下:

@Documented
@Retention(value=RUNTIME)
@Target(value=ANNOTATION_TYPE)
public @interface Inherited {}

Inherited 注解表明注解是否會(huì)被子類繼承,缺省情況是不繼承的。當(dāng)注解在聲明時(shí),使用了@Inherited注解,則該注解會(huì)被使用了該注解的類的子類所繼承。

相關(guān)文章

  • spring?和?idea?建議不要使用?@Autowired注解的原因解析

    spring?和?idea?建議不要使用?@Autowired注解的原因解析

    @Autowired?是Spring框架的注解,而@Resource是JavaEE的注解,這篇文章主要介紹了spring和idea建議不要使用@Autowired注解的相關(guān)知識(shí),需要的朋友可以參考下
    2023-11-11
  • Springboot通過圖片路徑形式獲取圖片

    Springboot通過圖片路徑形式獲取圖片

    這篇文章主要介紹了Springboot通過圖片路徑形式獲取圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • ssm框架上傳圖片保存到本地和數(shù)據(jù)庫示例

    ssm框架上傳圖片保存到本地和數(shù)據(jù)庫示例

    本篇文章主要介紹了ssm框架上傳圖片保存到本地和數(shù)據(jù)庫示例,主要使用了Spring+SpringMVC+MyBatis框架集合,有興趣的可以了解一下。
    2017-03-03
  • 詳解如何利用jasypt實(shí)現(xiàn)配置文件加密

    詳解如何利用jasypt實(shí)現(xiàn)配置文件加密

    Jasypt?(Java?Simplified?Encryption)?是一個(gè)?java?庫,它允許開發(fā)人員以最小的成本將基本的加密功能添加到項(xiàng)目中,而無需深入了解密碼學(xué)的工作原理。本文將利用jasypt實(shí)現(xiàn)配置文件加密,感興趣的可以學(xué)習(xí)一下
    2022-07-07
  • java基礎(chǔ)之接口組成更新的實(shí)現(xiàn)

    java基礎(chǔ)之接口組成更新的實(shí)現(xiàn)

    本文主要介紹了java基礎(chǔ)之接口組成更新的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • SpringBoot初始教程之統(tǒng)一異常處理詳解

    SpringBoot初始教程之統(tǒng)一異常處理詳解

    本篇文章主要介紹了SpringBoot初始教程之統(tǒng)一異常處理詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java黑科技:replace首個(gè)替換一秒搞定

    Java黑科技:replace首個(gè)替換一秒搞定

    要實(shí)現(xiàn)只替換第一個(gè)匹配項(xiàng),可以使用Java中的String類的replaceFirst方法,該方法接受兩個(gè)參數(shù),第一個(gè)參數(shù)是要替換的字符串或正則表達(dá)式,第二個(gè)參數(shù)是替換后的字符串,需要的朋友可以參考下
    2023-10-10
  • IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?out)

    IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?o

    本文主要介紹了IDEA調(diào)試功能使用總結(jié)(step?over/step?into/force?step?into/step?out),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java深入淺出數(shù)組的定義與使用上篇

    Java深入淺出數(shù)組的定義與使用上篇

    數(shù)組是有序的元素序列,若將有限個(gè)類型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。組成數(shù)組的各個(gè)變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量。數(shù)組是在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式
    2022-03-03
  • 理解HashSet里為什么value不是null

    理解HashSet里為什么value不是null

    你有沒有想過Java中HashSet的Value為什么要存PRESENT而不是Null?帶著這個(gè)疑問來看下邊的文章尋找答案吧
    2021-09-09

最新評(píng)論