最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java @interface 注解詳解及實(shí)例

 更新時(shí)間:2017年06月02日 16:48:15   投稿:lqh  
這篇文章主要介紹了java @interface 注解詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下

java @interface 注解詳解及實(shí)例

1 簡(jiǎn)介

在Java中,定義注解其實(shí)和定義接口差多不,只需要在interface前添加一個(gè)@符號(hào)就可以,即 @interface Zhujie{ },這就表明我們定義了一個(gè)名為 @Zhujie 的注解。注解中的每一個(gè)方法定義了這個(gè)注解類型的一個(gè)元素,特別注意:注解中方法的聲明中一定不能包含參數(shù),也不能拋出異 常;方法的返回值被限制為簡(jiǎn)單類型、String、Class、emnus、注釋,和這些類型的數(shù)組,但方法可以有一個(gè)缺省值。

注解相當(dāng)于一種標(biāo)記,在程序中加上了注解就等于為程序加上了某種標(biāo)記,JAVAC編譯器、開發(fā)工具和其他程序可以用反射機(jī)制來了解咱們的類以及各種元素上有無(wú)標(biāo)記,如果找到標(biāo)記,就做相應(yīng)的事。例如,@Deprecated可以標(biāo)記在一些不建議被使用的類、方法和字段上,如果有人使用了,就給出警告。

2 元注解

注解 @Retention 可以用來修飾注解,是注解的注解,稱為元注解。Retention注解有一個(gè)屬性value,是RetentionPolicy類型的,而Enum RetentionPolicy是一個(gè)枚舉類型,這就決定了Retention注解應(yīng)該如何去操作,也可以理解為Rentention 搭配 RententionPolicy來使用。RetentionPolicy有3個(gè)值,分別為:CLASS 、RUNTIME 和 SOURCE。

  1. 用@Retention(RetentionPolicy.CLASS)修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中當(dāng)程序編譯時(shí),但不會(huì)被虛擬機(jī)讀取在運(yùn)行的時(shí)候;
  2. 用@Retention(RetentionPolicy.SOURCE)修飾的注解,表示注解的信息會(huì)被編譯器拋棄,不會(huì)留在class文件中,注解的信息只會(huì)留在源文件中;
  3. 用@Retention(RetentionPolicy.RUNTIME)修飾的注解,表示注解的信息被保留在class文件(字節(jié)碼文件)中,當(dāng)程序編譯時(shí),會(huì)被虛擬機(jī)保留在運(yùn)行時(shí)。

3 使用示例

首先,創(chuàng)建一個(gè)簡(jiǎn)單的注解:

public @interface Coder { 
   int personId(); 
   String company() default "[unassigned]";
} 

注解定義完之后,咱們就可以用來作注釋聲明。注解是一種特殊的修飾符,在其他修飾符(例如,public、static 或者 final 等)使用地方都可以使用注解。按照慣例,注解應(yīng)該放在其他修飾符的前面。注解的聲明用@符號(hào)后面跟上這個(gè)注解類型的名字,再后面加上括號(hào),括號(hào)中列出這個(gè)注釋中元素或者方法的key-value對(duì),其中,值必須是常量。例如:

@coder(personId=20151120,company="YeePay")

沒有元素或者方法的注解被稱為“標(biāo)記(marker)”類型,例如:

public @interface Coder {}

標(biāo)記注解在使用的時(shí)候,其后面的括號(hào)可以省略。如果注釋中僅包含一個(gè)元素,這個(gè)元素的名字應(yīng)該為value,例如:

public @interface Coder { 
   String value();
} 

如果元素的名字為value,那么在使用這個(gè)注解的時(shí)候,元素的名字和等號(hào)都可以省略,例如:

@Coder("YeePay")

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • RabbitMQ的消息確認(rèn)機(jī)制的詳細(xì)總結(jié)

    RabbitMQ的消息確認(rèn)機(jī)制的詳細(xì)總結(jié)

    RabbitMQ消息確認(rèn)機(jī)制指的是在消息傳遞過程中,發(fā)送方發(fā)送消息后,接收方需要對(duì)消息進(jìn)行確認(rèn),以確保消息被正確地接收和處理,本文就講給大家詳解介紹RabbitMQ的幾種消息確認(rèn)機(jī)制,需要的朋友可以參考下
    2023-07-07
  • 基于Java反射的map自動(dòng)裝配JavaBean工具類設(shè)計(jì)示例代碼

    基于Java反射的map自動(dòng)裝配JavaBean工具類設(shè)計(jì)示例代碼

    這篇文章主要給大家介紹了關(guān)于基于Java反射的map自動(dòng)裝配JavaBean工具類設(shè)計(jì)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-10-10
  • Java實(shí)現(xiàn)合并word文檔的示例代碼

    Java實(shí)現(xiàn)合并word文檔的示例代碼

    在做項(xiàng)目中,經(jīng)常會(huì)遇到一種情況,需要將一個(gè)小word文檔的內(nèi)容插入到一個(gè)大word(主文檔)中。本文就為大家準(zhǔn)備了Java實(shí)現(xiàn)合并word文檔的方法,需要的可以參考一下
    2022-08-08
  • Java遠(yuǎn)程執(zhí)行shell命令出現(xiàn)java: command not found問題及解決

    Java遠(yuǎn)程執(zhí)行shell命令出現(xiàn)java: command not found問題及解決

    這篇文章主要介紹了Java遠(yuǎn)程執(zhí)行shell命令出現(xiàn)java: command not found問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-07-07
  • Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    這篇文章主要給大家介紹了關(guān)于Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出,在各種系統(tǒng)中,導(dǎo)入導(dǎo)出的數(shù)據(jù)一般都是通過Excel來完成的,需要的朋友可以參考下
    2023-07-07
  • idea 離線安裝lombok插件的方法步驟(圖文)

    idea 離線安裝lombok插件的方法步驟(圖文)

    這篇文章主要介紹了idea 離線安裝lombok插件的方法步驟(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • spring中在xml配置中加載properties文件的步驟

    spring中在xml配置中加載properties文件的步驟

    這篇文章主要介紹了在spring中如何在xml配置中加載properties文件,本文分步驟給大家介紹在XML配置中加載properties文件的方法,需要的朋友可以參考下
    2023-07-07
  • java實(shí)現(xiàn)模擬USB接口的功能

    java實(shí)現(xiàn)模擬USB接口的功能

    本文主要介紹了java實(shí)現(xiàn)模擬USB接口的功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng)

    Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng)

    這篇文章主要介紹了Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java的Volatile實(shí)例用法及講解

    Java的Volatile實(shí)例用法及講解

    在本篇文章里小編給大家整理了關(guān)于Java的Volatile知識(shí)點(diǎn)相關(guān)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。
    2019-09-09

最新評(píng)論

河北省| 安岳县| 两当县| 富锦市| 成都市| 什邡市| 关岭| 纳雍县| 收藏| 西宁市| 治多县| 南平市| 涞水县| 岳普湖县| 高台县| 桐柏县| 鄂州市| 西乌珠穆沁旗| 南宫市| 门头沟区| 炎陵县| 湖南省| 青铜峡市| 怀来县| 库尔勒市| 阿拉善左旗| 蚌埠市| 湘阴县| 象山县| 大余县| 丰宁| 安吉县| 木里| 定州市| 株洲市| 嘉峪关市| 上高县| 阿城市| 怀仁县| 关岭| 大理市|