一、java.lang.annotation包下的4個元註解,修飾其餘註解java
@Target , @Retention , @Documented , @Inherited工具
二、@Target註解,用於指定被修飾的註解能修飾哪些程序元素(value爲如下8種類型)spa
2.1 ElementType.ANNOTATION_TYPE 註解聲明.net
2.1 ElementType.CONSTRUCTOR 構造方法聲明繼承
2.1 ElementType.FIELD 成員變量聲明接口
2.1 ElementType.LOCAL_VARIABLE 局部變量聲明文檔
2.1 ElementType.METHOD 方法聲明get
2.1 ElementType.PACKAGE 包聲明編譯器
2.1 ElementType.PARAMETER 參數聲明虛擬機
2.1 ElementType.TYPE 類、接口、枚舉聲明
三、@Retention註解,指定被修飾的註解能夠保留多長時間(vlaue爲如下3種類型)
3.1 RetentionPolicy.CLASS 編譯器把註解記錄在CLASS文件中,當程序運行時,java虛擬機再也不保留註解
3.2 RetentionPolicy.RUNTIME 能夠經過反射訪問註解
3.3 RetentionPolicy.SOURCE 編譯器直接丟棄被修飾的註解
四、@Documented註解,指定被修飾的註解將被javadoc工具提取成文檔
五、@Inherited註解,指定子類是否繼承該註解