注解概述
Annotation就是指注解,使用注解時在前面增加@符號
- JDk5.0開始增加了對元數據(MetaData)的支持,也就是注解(Annotation)
- Annotation時一種特殊標記,可以在編譯、類加載、運行時被讀取,作用是可以嵌入一些補充信息,而不更改原有邏輯
- Annotation可以修飾包,類,構造器,方法,成員變量,參數,局部變量的聲明
基本的注解
@Override 覆蓋方法
@Deprecated 方法過時
@SuppressWarnings 抑制編譯器警告
自定義注解
- 新建一個類改為使用@interface修飾
- 定義屬性加括號,可以設置默認值
- 下面就可以直接使用了
元注解
JDK的元Annotation用于修飾其他Annotation的定義
@Retention 指定注解的生命周期
- RetentionPolicy.SOURCE 編譯器直接丟棄
- RetentionPolicy.CLASS 編譯時保留,默認值
- RetentionPolicy.RUNTIME 運行時保留
- 使用方法:@Retention(RetentionPolicy.CLASS)
@Target
- 指定能修飾哪些程序元素
'TYPE' class,interface的修飾
'FIELD' 屬性
'METHOD' 方法
'PARAMETER' 參數
'CONSTRUCTOR' 構造器
'LOCAL_VARIABLE' 成員變量 - 使用方法:Target({TYPE, METHOD})
@Documented
- 能被javadoc提取為文檔
@Inherited
- 被修飾的注解具有繼承性,如果某類被修飾則子類自動具有該注解