国产探花免费观看_亚洲丰满少妇自慰呻吟_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注解,則該注解會被使用了該注解的類的子類所繼承。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤庆县| 保定市| 蒙城县| 锡林郭勒盟| 新安县| 汨罗市| 买车| 德格县| 黄石市| 云浮市| 旅游| 同江市| 庆安县| 望江县| 宁津县| 孝感市| 海伦市| 海原县| 天柱县| 德化县| 霍城县| 周口市| 紫阳县| 五莲县| 霍城县| 历史| 上虞市| 南木林县| 巴林左旗| 府谷县| 峨眉山市| 昭苏县| 涿州市| 芦山县| 大荔县| 平邑县| 靖西县| 广西| 永康市| 景德镇市| 陇西县|