内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

@Target注解,@Retention元注解和@Documented注解的使用方法

本篇內(nèi)容介紹了“@Target注解,@Retention元注解和@Documented注解的使用方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

站在用戶的角度思考問題,與客戶深入溝通,找到回民網(wǎng)站設(shè)計與回民網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋回民地區(qū)。

@Target --用于定義在注解的上邊,表明該注解可以使用的范圍。
(1)進入源碼后是這樣的:

public @interface Target {
    ElementType[] value();
}

可以看出取值是一個數(shù)組,表明value可以取一個值,也可以取多個值。當(dāng)取多值時,需用英文逗號隔開。
(2)進入到ElementType,是一個枚舉類型:

public enum ElementType {
    TYPE,    //表明此注解可以用在類或接口上
    FIELD,     //表明此注解可以用在域上(還沒用過,)
    METHOD,     //表明此注解可以用在方法上
    PARAMETER,     //表明此注解可以用在參數(shù)上
    CONSTRUCTOR,     //表明此注解可以用在構(gòu)造方法上
    LOCAL_VARIABLE,     //表明此注解可以用在局部變量上
    ANNOTATION_TYPE,     //表明此注解可以用在注解類型上
    PACKAGE,     //用于記錄java文件的package文件信息,
                   不使用在一般的類中,而用在固定文件package-info.java中。
                   注意命名一定是“package-info”。
                   由于package- info.java并不是一個合法的類,
                  使用eclipse創(chuàng)建類的方式會提示不合法,所以需要以創(chuàng)建
                  文件的方式來創(chuàng)建package-info.java。

    TYPE_PARAMETER,     //類型參數(shù)聲明
    TYPE_USE  //類型使用聲明 (未使用過,也不知道怎么用)
}

以下是關(guān)于Eclipse中無法創(chuàng)建package-info包的證明:

@Target注解,@Retention元注解和@Documented注解的使用方法

package-info.PNG

若@Target注解未指定value值,則表明被@Target修飾的注解可以用于任何范圍。

注解@Retention可以用來修飾注解,是注解的注解,稱為元注解。
Retention注解有一個屬性value,是RetentionPolicy類型的,Enum RetentionPolicy是一個枚舉類型,
這個枚舉決定了Retention注解應(yīng)該如何去保持,也可理解為Rentention 搭配 RententionPolicy使用。RetentionPolicy有3個值:CLASS  RUNTIME   SOURCE
按生命周期來劃分可分為3類:
1、RetentionPolicy.SOURCE:注解只保留在源文件,當(dāng)Java文件編譯成class文件的時候,注解被遺棄;
2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加載class文件時候被遺棄,這是默認(rèn)的生命周期;
3、RetentionPolicy.RUNTIME:注解不僅被保存到class文件中,jvm加載class文件之后,仍然存在;
這3個生命周期分別對應(yīng)于:Java源文件(.java文件) ---> .class文件 ---> 內(nèi)存中的字節(jié)碼。
那怎么來選擇合適的注解生命周期呢?
首先要明確生命周期長度 SOURCE < CLASS < RUNTIME ,所以前者能作用的地方后者一定也能作用。
一般如果需要在運行時去動態(tài)獲取注解信息,那只能用 RUNTIME 注解,比如@Deprecated使用RUNTIME注解
如果要在編譯時進行一些預(yù)處理操作,比如生成一些輔助代碼(如 ButterKnife),就用 CLASS注解;
如果只是做一些檢查性的操作,比如 @Override 和 @SuppressWarnings,使用SOURCE 注解。

注解@Override用在方法上,當(dāng)我們想重寫一個方法時,在方法上加@Override,當(dāng)我們方法的名字出錯時,編譯器就會報錯
注解@Deprecated,用來表示某個類或?qū)傩曰蚍椒ㄒ呀?jīng)過時,不想別人再用時,在屬性和方法上用@Deprecated修飾
注解@SuppressWarnings用來壓制程序中出來的警告,比如在沒有用泛型或是方法已經(jīng)過時的時候

@Documented注解

Documented注解表明這個注釋是由 javadoc記錄的,在默認(rèn)情況下也有類似的記錄工具。 如果一個類型聲明被注釋了文檔化,它的注釋成為公共API的一部分。

“@Target注解,@Retention元注解和@Documented注解的使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

文章名稱:@Target注解,@Retention元注解和@Documented注解的使用方法
文章位置:http://www.rwnh.cn/article26/jgjgcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、Google、搜索引擎優(yōu)化、App設(shè)計、面包屑導(dǎo)航、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
沧州市| 乳源| 康马县| 景东| 邓州市| 固阳县| 中超| 蚌埠市| 刚察县| 四平市| 甘孜县| 博乐市| 万荣县| 丰顺县| 华容县| 通山县| 龙口市| 庆安县| 卓资县| 浑源县| 永修县| 北票市| 额济纳旗| 南澳县| 齐齐哈尔市| 色达县| 鄂托克旗| 若羌县| 石棉县| 永登县| 习水县| 南召县| 色达县| 抚远县| 饶阳县| 洛川县| 赣州市| 黄浦区| 崇明县| 高平市| 罗山县|