国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JDK 5 提供的注解:Target、Inherited和Documented的區別

2019-11-26 14:31:47
字體:
來源:轉載
供稿:網友

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

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

Target 定義如下:

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

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

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

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

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

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

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

Inherited 注解表明注解是否會被子類繼承,缺省情況是不繼承的。當注解在聲明時,使用了@Inherited注解,則該注解會被使用了該注解的類的子類所繼承。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 游戏| 花莲市| 浠水县| 广河县| 凌海市| 白朗县| 双桥区| 融水| 黑水县| 虞城县| 安宁市| 张北县| 宁德市| 三门县| 万安县| 隆安县| 德令哈市| 晋州市| 三台县| 平乐县| 如皋市| 霍林郭勒市| 凤庆县| 南安市| 彰化县| 来宾市| 奎屯市| 鹿邑县| 桐柏县| 丰原市| 博乐市| 酒泉市| 科技| 景洪市| 广宁县| 邓州市| 正安县| 镇坪县| 日土县| 卓尼县| 惠水县|