java 注解 @Retention @interface 元數據


java注解

  即是注釋了,百度解釋:也叫元數據。一種代碼級別的說明。 個人理解:就是內容可以被代碼理解的注釋,一般是一個類。

元數據

  也叫元注解,是放在被定義的一個注解類的前面 ,是對注解一種限制。只有兩個: @Retention 和 @Target  (我只查到這兩個).

  @Retention :用來說明該注解類的生命周期。它有以下三個參數:

      RetentionPolicy.SOURCE  : 注解只保留在源文件中

      RetentionPolicy.CLASS  : 注解保留在class文件中,在加載到JVM虛擬機時丟棄

      RetentionPolicy.RUNTIME  : 注解保留在程序運行期間,此時可以通過反射獲得定義在某個類上的所有注解。

 

  @Target :  用來說明該注解可以被聲明在那些元素之前。   

      ElementType.TYPE:說明該注解只能被聲明在一個類前。

      ElementType.FIELD:說明該注解只能被聲明在一個類的字段前。

      ElementType.METHOD:說明該注解只能被聲明在一個類的方法前。

      ElementType.PARAMETER:說明該注解只能被聲明在一個方法參數前。

      ElementType.CONSTRUCTOR:說明該注解只能聲明在一個類的構造方法前。

      ElementType.LOCAL_VARIABLE:說明該注解只能聲明在一個局部變量前。

      ElementType.ANNOTATION_TYPE:說明該注解只能聲明在一個注解類型前。

      ElementType.PACKAGE:說明該注解只能聲明在一個包名前。

注解的定義:

  注解的定義使用關鍵詞 @interface ,並在上面一行注明@Rentention(arg) 或者@Target(args) , 樣例如下:

  @Rentention(RetentionPolicy.RUNTIME)

  public @interface Annotation01 {
    //定義公共的final靜態屬性
    .....
    //定以公共的抽象方法
    ......
  }

常見基本內置注解

  @Override  當我們想重寫一個方法時,在方法上加@Override,當我們方法的名字出錯時,編譯器就會報錯。 定義如下:

    @Retention(RetentionPolicy.SOURCE )

    public @interface Override

  @Deprecated  用來表示某個類的屬性或方法已經過時,不想別人再用時,在屬性和方法上用@Deprecated修飾。 定義如下:

    @Retention(RetentionPolicy.SOURCE )

    public @interface Deprecated

  @SuppressWarnings 用來壓制程序中出來的警告。 定義如下:

    @Retention(RetentionPolicy.SOURCE ) 

    public @interface SuppressWarnings 

注解的使用

  定義注解--》聲明注解-->獲得注解;

  其中 獲得注解 通過被修飾的對象的 getAnnotation 或 getAnnotations 方法獲得。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM