天天看點

Java-注解-Annotation注解作用

注解作用

  注解其實是代碼裡的特殊标記,這些标記可以在編譯、類加載、運作時被讀取,并執行相應的處理。通過使用 Annotation, 程式開發人員可以在不改變原有邏輯的情況下,在源檔案嵌入一些補充資訊。代碼分析工具、開發工具和部署工具可以通過這些補充資訊進行驗證或者進行部署。

java中常見的三個注解

 - @Override : 聲明該方法是從父類或接口上繼承過來的,執行編譯期的檢查

 - @SuppressWarnings : 抑制編譯器警告 值有好多,隻需要知道一個 all  抑制所有的警告

 - @Deprecated : 聲明 該方法不贊成使用(方法過時提示)

注解屬性:

     注解本質上就是一個接口,接口中有常量和抽象方法

     抽象方法在注解中就被稱為注解屬性(注解中定義時不需要定義通路權限)

注解屬性類型:

 -  基本類型

 -  String

 -  Class

 -  Annotation

 -  Enum

 -  以上類型對應的一維數組

注解有屬性的話調用者必須要将給屬性指派(除非這個注解屬性有預設值)

    格式: @注解名(屬性=屬性值)

若注解類型為數組,且隻有一個值的時候,可以有兩種寫法

    方式1: 屬性={值1}

    方式2: 屬性=值1

若屬性名為value的時候,且隻需要為這個value屬性指派的時候,value可以省略

定義注解:

Java-注解-Annotation注解作用

調用注解:

Java-注解-Annotation注解作用

元注解

定義在注解上的注解

@Target 規定注解作用在什麼上面     

   值為ElementType的枚舉值

 - TYPE:作用在類 接口 等上面

 - METHOD:作用方法上面

 - FIELD:作用字段上面

使用Target

Target源碼

Java-注解-Annotation注解作用

使用Target定義注解

Java-注解-Annotation注解作用

調用

Java-注解-Annotation注解作用

@Retention  規定注解保留到什麼階段  

   值為RetentionPolicy的三個枚舉值

 - SOURCE:隻在代碼中保留,在位元組碼檔案中就删除了(預設)

 - CLASS:在代碼和位元組碼檔案中保留

 - RUNTIME:所有階段都保留

實作junit包的@Test單元測試功能

需要單元測試的類

Java-注解-Annotation注解作用

自定義注解

Java-注解-Annotation注解作用

主方法類

Java-注解-Annotation注解作用