0.註解的引入 在開發Java程序的時候,尤爲是J2EE應用的時候,老是避免不了,與各類配置文件打交道,SSH架構,每一個都有本身的配置文件,這些文件必須與java源代碼保持同步,否則就會出現錯誤,把同一份信息保存在兩個地方,維護,總不是什麼好事情,若是能,在一個地方維護這些信息,java
1.註解的語法比較簡單,除了@符合的使用外,它基本與java固有的語法是同樣的,java內置了三種註解,定義在java.lang包中<br/>架構
@Override 表示當前的方法覆蓋父類的方法<br/> @Deprecated 表示當前的元素是不同意使用的<br/> @SuppressWarnings 表示關閉當前的一些不當的編輯器警告信息<br/>
2.元註解@Target @Retention @Documented @Inherited<br/><br/>編輯器
@Target 表示註解用於什麼地方, ElemenetType.CONSTRUCTOR 構造器聲明 ElemenetType.FIELD 域聲明(包括 enum 實例) ElemenetType.LOCAL_VARIABLE 局部變量聲明 ElemenetType.METHOD 方法聲明 ElemenetType.PACKAGE 包聲明 ElemenetType.PARAMETER 參數聲明 ElemenetType.TYPE 類,接口(包括註解類型)或enum聲明 <br/><br/> @Retention 表示在什麼級別保存該註解信息。可選的 RetentionPolicy 參數包括: RetentionPolicy.SOURCE 註解將被編譯器丟棄 RetentionPolicy.CLASS 註解在class文件中可用,但會被VM丟棄 RetentionPolicy.RUNTIME VM將在運行期也保留註釋,所以能夠經過反射機制讀取註解的信息。 @Documented 將此註解包含在 javadoc 中 @Inherited 容許子類繼承父類中的註解
3.註解的使用 1.定義註解類ide
public @Interface A{ }
2.應用註解類code
@A public class B{ }
3.對應的註解類的類進行反射操做類繼承
B.class.isAnnotaionPresent(A.class); A a = B.class.getAnnotation(A.class);