Java注解筆記

Java注解詳解

Java注解是JDK1.5以后添加的特性,自定義注解需要聲明為@interface

最簡單的注解:

public @interface Demo {
}   

定義注解時需要一些元注解

@Target 參數(shù)表示在什么地方使用該注解,一個方法或一個域等

CONSTRUCTOR: 構(gòu)造器申明
FIELD: 域申明
LOCAL_VARIABLE: 局部變量申明
METHOD: 方法申明
PACKAGE: 包申明
PARAMETER: 參數(shù)申明
TYPE: 類,接口或枚舉申明

源碼:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
    /**
     * Returns an array of the kinds of elements an annotation type
     * can be applied to.
     * @return an array of the kinds of elements an annotation type
     * can be applied to
     */
    ElementType[] value();
}

@Retention 用來定義該注解是哪一個級別可用:在源代碼中、類文件中、還是運(yùn)行時
沒有注解元素的注解稱為標(biāo)記注解

SOURCE: 注解被編譯器丟棄
CLASS: 注解在class文件中使用, 但會被JVM丟棄
RUNTIME: VM將在運(yùn)行期也保留注解, 因此可以通過反射機(jī)智讀取注解的信息

源碼:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
    /**
     * Returns the retention policy.
     * @return the retention policy
     */
    RetentionPolicy value();
}

@Documented 表示將此注解包含在javadoc中

源碼:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented {
}

@Inherited 表示允許子類繼承父類中的注解

源碼:

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Inherited {
}

注解元素可以使用所有的基本類型、String、Class、Annotation等使用其他的類型會報錯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 整體Retrofit內(nèi)容如下: 1、Retrofit解析1之前哨站——理解RESTful 2、Retrofit解析...
    隔壁老李頭閱讀 8,920評論 4 31
  • 什么是注解(Annotation):Annotation(注解)就是Java提供了一種元程序中的元素關(guān)聯(lián)任何信息和...
    九尾喵的薛定諤閱讀 3,428評論 0 2
  • 沒有溫度的語言,冰冷的對話。無奈吧!
    常小識閱讀 291評論 0 0
  • 三月的風(fēng)帶著生命的氣息攪混了空氣中的一萬種香料,草木初生,萬物生長?;ǚ巯銡忾_始順著青灰色的墻體,窗欞上的...
    日月為憑閱讀 265評論 0 0
  • 2011.03.11,東京都某幢office building的10樓,丁香經(jīng)歷了到日本4年多以來的強(qiáng)震。 201...
    丁香碎片閱讀 306評論 0 0

友情鏈接更多精彩內(nèi)容