1. 程式人生 > >自定義Java註解(annotation)

自定義Java註解(annotation)

https://www.imooc.com/learn/456  筆記

Java從1.5開始引進註解。

首先解決一個問題,為什麼要學習Java註解?

1.看懂別人寫的程式碼,尤其是框架的程式碼

2.可以是自己寫的程式碼簡潔清晰

 

現在開始學習Java註解了。

 

一、JDK自帶註解

1. @Override : 覆蓋,繼承父類、實現介面重寫方法時使用

2. @Deprecated : 過時,使用之後再使用這個方法會有刪除線

3. @SuppressWarnings : 過濾提示

 

二、註解分類

1. 根據執行機制分: 原始碼註解、編譯時註解、執行時註解

2. 根據來源分: JDK註解、第三方註解、自定義註解

3. 元註解 : 註解的註解,自定義註解時使用

 

三、自定義註解

1. 語法要求

  a. 使用 @interface 定義

  b. 成員以無參無異常的方式宣告

  c. 可以使用default為成員設定預設值

  d. 成員型別包括 基本資料型別,String,Class,Annotation,Enumeration

  e. 只有一個成員時,名稱必須為value,使用時可以忽略=

  f. 註解類可以沒有成員,稱為標識註解

  程式碼示例  

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented
public @interface Customize { String value() default "I am annotation"; }

 2. 註解的使用

  @註解名(<成員名1>=<成員值1>,<成員名2>=<成員值2>,<成員名3>=<成員值3>,......)

3. 解析註解

  解析註解需要用到反射,所以在反射裡再寫吧。