@Target表示這個注解的作用域,即可以作用在什么上。
用法:@Target({ElementType.METHOD})
其中METHOD就表示該注解可以修飾方法
另外作用范圍有
TYPE 可用于類或者接口上
ANNOTATION_TYPE 可用于注解類型上(被@interface修飾的類型)
CONSTRUCTOR 可用于構(gòu)造方法上
FIELD 可用于域上
LOCAL_VARIABLE 可用于局部變量上
PACKAGE 用于記錄java文件的package信息
PARAMETER 可用于參數(shù)上
@Retention表示這個注解的生命周期,即可以存活到什么時候
用法:@Retention(RetentionPolicy.RUNTIME)
其中RUNTIME就表示該注解在程序跑起來的時候都還活著,另外還有兩種短命的
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
才疏學(xué)淺,淺嘗輒止