Java中的常見註解
- JDK自帶註解:@Override(方法重寫)、@Deprecated(標註一個方法過時)、@Suppvisewarnnings(忽略警告)
- 第三方註解
- 自定義註解
註解的分類
自定義註解
- 使用@interface關鍵字定義註解
- 成員以無參無異常方式聲明,例:String value();
- 可以用defalut爲成員指定一個默認的值
- 成員類型是受限制的,合法的類型包括原始類型及String、Class、Annotation、Enumeration
- 如果註解只有一個成員,則成員名必須取名爲value(),在使用時可以忽略成員名和賦值號(=),例如:@(“value”)
- 註解類可以沒有成員,沒有成員的註解稱爲標識註解
原註解
@Target、@Retention、@Inherited、@Documented
@Target : 說明註解的作用域,有以下幾種作用域
CONSTRUCTOR:構造方法聲明
FIELD:字段聲明
LOCAL_VARIABLE:局部變量聲明
METHOD:方法聲明
PACKAGE:包聲明
PARAMETER:參數聲明
TYPE:類、接口
@Retention:說明註解的生命週期
SOURCE:只在源碼顯示,編譯時會丟棄
CLASS:編譯時會記錄到class中,運行時忽略
RUNTIME:運行時存在,可以通過反射讀取
@Inherited:允許被標註註解的子類繼承,只有作用域(類)會被子類繼承
@Documented:生成javadoc時會包含註解