欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java @interface 注解詳解及實例

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

java @interface 注解詳解及實例

1 簡介

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

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

2 元注解

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

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

3 使用示例

首先,創(chuàng)建一個簡單的注解:

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

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

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

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

public @interface Coder {}

標記注解在使用的時候,其后面的括號可以省略。如果注釋中僅包含一個元素,這個元素的名字應該為value,例如:

public @interface Coder { 
   String value();
} 

如果元素的名字為value,那么在使用這個注解的時候,元素的名字和等號都可以省略,例如:

@Coder("YeePay")

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

相關(guān)文章

  • 解決dubbo錯誤ip及ip亂入問題的方法

    解決dubbo錯誤ip及ip亂入問題的方法

    今天小編就為大家分享一篇關(guān)于解決dubbo錯誤ip及ip亂入問題的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 妙解Java中的回調(diào)機制(CallBack)

    妙解Java中的回調(diào)機制(CallBack)

    本文以最簡明扼要的例子將Java的回調(diào)機制介紹給大家,感興趣的朋友可以參考一下。
    2016-07-07
  • 使用maven實現(xiàn)redis與idea的連接問題

    使用maven實現(xiàn)redis與idea的連接問題

    這篇文章主要介紹了使用maven實現(xiàn)redis與idea的連接問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Mybatis增刪改查mapper文件寫法詳解

    Mybatis增刪改查mapper文件寫法詳解

    這篇文章主要介紹了Mybatis增刪改查mapper文件寫法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 詳解java裝飾模式(Decorator Pattern)

    詳解java裝飾模式(Decorator Pattern)

    這篇文章主要為大家詳細介紹了java裝飾模式Decorator Pattern,這種類型的設計模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個包裝,對裝飾器模式感興趣的小伙伴們可以參考一下
    2016-04-04
  • Spring data elasticsearch使用方法詳解

    Spring data elasticsearch使用方法詳解

    這篇文章主要介紹了Spring data elasticsearch使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • spring依賴注入成功但在調(diào)用接口的時候拿到的依賴卻是null問題

    spring依賴注入成功但在調(diào)用接口的時候拿到的依賴卻是null問題

    這篇文章主要介紹了spring依賴注入成功但在調(diào)用接口的時候拿到的依賴卻是null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java操作Redis2種方法代碼詳解

    Java操作Redis2種方法代碼詳解

    這篇文章主要介紹了Java操作Redis2種方法代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • IDEA自定義常用代碼塊及自定義快捷摸板

    IDEA自定義常用代碼塊及自定義快捷摸板

    這篇文章主要介紹了IDEA自定義常用代碼塊及自定義快捷摸板的相關(guān)知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • SpringBoot實現(xiàn)多端口監(jiān)聽的代碼示例

    SpringBoot實現(xiàn)多端口監(jiān)聽的代碼示例

    當你需要在同一個Spring Boot應用中,通過不同的端口來提供不同的服務或功能時,就需要實現(xiàn)多端口監(jiān)聽,所以本文給大家介紹了SpringBoot實現(xiàn)多端口監(jiān)聽的方法示例,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-09-09

最新評論