JavaEE之註解

來源:互聯網
上載者:User

標籤:虛擬   ring   屬性   生命週期   const   字串   傳遞   ide   版本   

1註解:Annotation註解,是一種代碼層級的說明。它是JDK1.5及以後版本引入的一個特性,與類、介面、枚舉是在同一個層次,給電腦,JVM提供解讀資訊的.

2註解的作用:編譯檢查:程式碼分析,編寫文檔:

註解的範圍:可以定義在類上,方法上,代碼上

同一個位置只能使用一次,同一個註解

常用註解:

@Deprecated可以用來修飾類,表示已經過時的類;也可以用來修飾方法,表示已經過時的方法

@Override:用來測試方法是否為重寫的方法

JDK1.5時,@Override只能檢測類繼承類重寫的方法

* JDK1.6及以上,@Override即能檢測類繼承類重寫的方法,又能檢測類實現介面重寫的方法

@SuppressWarnings 表示抑制警告,被修飾的類或方法如果存在編譯警告,將被編譯器忽略

        deprecation ,或略過時rawtypes ,忽略型別安全

        unused ,忽略不使用unchecked ,忽略安全檢查

        null,忽略null 指標serial, 忽略序號all,忽略所有

自訂註解

定義註解使用關鍵字: @interface

註解的屬性相當於類中的成員變數和成員方法

屬性格式:修飾符 傳回值類型 屬性名稱()  [default 預設值]

修飾符:預設值 public abstract ,寫不寫都是public abstract。

 

傳回值類型:基本類型、字串String、Class、註解、枚舉,以及以上類型的一維數組

 

屬性名稱:自訂

default 預設值:[default 屬性值]可以省略,[]不寫入程式中

元註解

元註解:用來修飾自訂註解的JDK提供的註解

@Retention 用於確定被修飾的自訂註解生命週期如果注釋型別宣告中不存在 Retention 注釋,則保留原則預設為

RetentionPolicy.CLASS

RetentionPolicy.SOURCE 被修飾的註解只能存在源碼中,位元組碼class沒有。用途:提供給編譯器使用。

RetentionPolicy.CLASS 被修飾的註解只能存在源碼和位元組碼中,運行時記憶體中沒有。用途:JVM java虛擬機器使用

RetentionPolicy.RUNTIME 被修飾的註解存在源碼、位元組碼、記憶體(運行時)。用途:取代xml配置

@Target 用於確定被修飾的自訂註解使用位置

如果注釋型別宣告中不存在 Target 元注釋,則聲明的類型可以用在任一程式元素上。

ElementType.TYPE 修飾類、介面

ElementType.CONSTRUCTOR  修飾構造

ElementType.METHOD 修飾方法

ElementType.FIELD 修飾欄位

自訂註解的解析

自訂註解的解析:使用自訂註解,擷取自訂註解的屬性值

和解析有關的介面:

 *java.lang.reflect.AnnotatedElement介面

 *所有已知實作類別:

 * AccessibleObject, Class, Constructor, Field, Method, Package

 *介面中的方法:

 *boolean isAnnotationPresent(Class annotationClass)

 *如果指定類型的注釋存在於此元素上,則返回 true,否則返回 false。

 *判斷(Constructor, Field, Method...)有沒有指定的註解

 *參數:註解的class檔案對象,可以傳遞

MyAnnotation03.class(String.class,int.class)

 *T getAnnotation(Class<T> annotationClass)

 *如果存在該元素的指定類型的注釋,則返回這些注釋,否則返回 null。

 *擷取(Constructor, Field, Method...)上的註解,參數傳遞的是哪個註解的class檔案對象,就擷取哪個註解

 *參數:註解的class檔案對象,可以傳遞MyAnnotation03.class

JavaEE之註解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.