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