java 註解

1.Annotation的概念

註解是一種能夠添加到Java源代碼的元數據.java

類,方法,變量,參數,包均可以被註解.框架

註解對註解的代碼並無直接的影響.ide

註解僅僅是個標記.註解之因此起做用是對其解析後作了相應的處理spa

 

2.Annotation分類

標準Annotation繼承

標準Annotation是指Java內置的三個Annnotaion:接口

@Override:用於修飾此方法覆蓋了父類的方法.get

@Deprecated:用於修飾已通過時的方法.編譯器

@SuppressWarnnings:用於通知java編譯器禁止特定的編譯警告.it

元Annotation(註解的註解)io

元Annotation是用來定義Annotation的Annotation

元Annotation能夠定義Annotation的做用範圍,使用在什麼元素上等

元註解共有四種@Retention, @Target, @Inherited, @Documented

自定義Annotation

 

3.Annotation做用

格式檢查:告訴編譯器信息,好比被@Override標記的方法若是不是父類的某個方法,IDE會報錯;

減小配置:運行時動態處理,獲得註解信息,實現代替配置文件的功能;

減小重複工做:好比第三方框架xUtils,經過註解@ViewInject減小對findViewById的調用,相似的還有(JUnit、ActiveAndroid等);

 

 

4.元註解

上文提到的四個註解:@Documented、@Retention、@Target、@Inherited就是元註解,它們的做用是負責註解其它註解,主要是描述註解的一些屬性,任何註解都離不開元註解(包括元註解自身,經過元註解能夠自定義註解),元註解的用戶是JDK,JDK已經幫助咱們實現了這四個註解的邏輯。這四個註解在JDK的java.lang.annotation包中。


5.自定義註解

使用@interface自定義註解時,自動繼承了java.lang.annotation.Annotation接口,由編譯程序自動完成其餘細節。在定義註解時,不能繼承其餘的註解或接口。@interface用來聲明一個註解,其中的每個方法其實是聲明瞭一個配置參數。方法的名稱就是參數的名稱,返回值類型就是參數的類型(返回值類型只能是基本類型、Class、String、enum)。能夠經過default來聲明參數的默認值。
相關文章
相關標籤/搜索