一:java注解中的元注解
四個元注解分別是:@Target,@Retention,@Documented,@Inherited ,
再次強調下元注解是java API提供,是專門用來定義注解的注解,其作用分別如下:
@Target 表示該注解用於什么地方,可能的值在枚舉類 ElemenetType 中,包括:
ElemenetType.CONSTRUCTOR----------------------------構造器聲明
ElemenetType.FIELD --------------------------------------域聲明(包括 enum 實例)
ElemenetType.LOCAL_VARIABLE------------------------- 局部變量聲明
ElemenetType.METHOD ----------------------------------方法聲明
ElemenetType.PACKAGE --------------------------------- 包聲明
ElemenetType.PARAMETER ------------------------------參數聲明
ElemenetType.TYPE--------------------------------------- 類,接口(包括注解類型)或enum聲明
@Retention 表示在什么級別保存該注解信息。可選的參數值在枚舉類型 RetentionPolicy 中,包括:
RetentionPolicy.SOURCE ---------------------------------注解將被編譯器丟棄
RetentionPolicy.CLASS -----------------------------------注解在class文件中可用,但會被VM丟棄
RetentionPolicy.RUNTIME VM-------將在運行期也保留注釋,因此可以通過反射機制讀取注解的信息。
@Documented 將此注解包含在 javadoc 中 ,它代表着此注解會被javadoc工具提取成文檔。在doc文檔中的內容會因為此注解的信息內容不同而不同。
相當與@see,@param 等。
@Inherited 允許子類繼承父類中的注解。
