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)//說(shuō)明該注解只能在聲明注解時(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注解的原因解析
@Autowired?是Spring框架的注解,而@Resource是JavaEE的注解,這篇文章主要介紹了spring和idea建議不要使用@Autowired注解的相關(guān)知識(shí),需要的朋友可以參考下2023-11-11
ssm框架上傳圖片保存到本地和數(shù)據(jù)庫(kù)示例
本篇文章主要介紹了ssm框架上傳圖片保存到本地和數(shù)據(jù)庫(kù)示例,主要使用了Spring+SpringMVC+MyBatis框架集合,有興趣的可以了解一下。2017-03-03
詳解如何利用jasypt實(shí)現(xiàn)配置文件加密
Jasypt?(Java?Simplified?Encryption)?是一個(gè)?java?庫(kù),它允許開(kāi)發(fā)人員以最小的成本將基本的加密功能添加到項(xiàng)目中,而無(wú)需深入了解密碼學(xué)的工作原理。本文將利用jasypt實(shí)現(xiàn)配置文件加密,感興趣的可以學(xué)習(xí)一下2022-07-07
java基礎(chǔ)之接口組成更新的實(shí)現(xiàn)
本文主要介紹了java基礎(chǔ)之接口組成更新的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
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),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

