自定義Java註解(annotation)
阿新 • • 發佈:2018-12-23
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 @Documentedpublic @interface Customize { String value() default "I am annotation"; }
2. 註解的使用
@註解名(<成員名1>=<成員值1>,<成員名2>=<成員值2>,<成員名3>=<成員值3>,......)
3. 解析註解
解析註解需要用到反射,所以在反射裡再寫吧。