java-annotation-1-概念

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);

相關文章
相關標籤/搜索