Annotation元注解。負(fù)責(zé)注解其他注解的注解。
jdk 版本 1.8
幾種類型:
@Target
@Retention
@Documented
@Inherited
@Repeatable
@Native
@Target
規(guī)定Annotation所修飾的對(duì)象范圍。
TYPE,類、接口(包括注解類型)或enum聲明
FIELD,成員變量、對(duì)象、屬性(包括enum實(shí)例)
METHOD,方法聲明
PARAMETER,參數(shù)聲明
CONSTRUCTOR,構(gòu)造器聲明
LOCAL_VARIABLE,局部變量聲明
ANNOTATION_TYPE,注解類型聲明(用于另一個(gè)注解上)
PACKAGE,包聲明
TYPE_PARAMETER,類型參數(shù)聲明(1.8新加入)
TYPE_USE;類型使用聲明(1.8新加入)
@Retention
表示需要在什么級(jí)別保存該注解信息,即注解的生命周期
SOURCE,只會(huì)保留在源碼里
CLASS,默認(rèn),保留在源碼里和class文件里,在執(zhí)行的時(shí)候,不會(huì)加載到虛擬機(jī)
RUNTIME;運(yùn)行期也保留注解信息
@Documented
表示注解會(huì)被包含在javaapi文檔中
@Inherited
允許子類繼承父類的注解
@Repeatable
重復(fù)注解
@Native
作用在域上,用來(lái)表示域中的常量可能來(lái)自于本地代碼