1. 程式人生 > >java元註解

java元註解

繼承 但是 枚舉值 cnblogs 無效 文檔 oid -type crazy

http://www.jb51.net/article/55371.htm http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html Retention註解 Retention(保留)註解說明,這種類型的註解會被保留到那個階段. 有三個值: 1.RetentionPolicy.SOURCE —— 這種類型的Annotations只在源代碼級別保留,編譯時就會被忽略 2.RetentionPolicy.CLASS —— 這種類型的Annotations編譯時被保留,在class文件中存在,但JVM將會忽略 3.RetentionPolicy.RUNTIME —— 這種類型的Annotations將被JVM保留,所以他們能在運行時被JVM或其他使用反射機制的代碼所讀取和使用. Java註解的示例1: 代碼如下: @Retention(RetentionPolicy.RUNTIME) public @interface Test_Retention { String doTestRetention(); } 在這個示例中, @Retention(RetentionPolicy.RUNTIME)註解表明 Test_Retention註解將會由虛擬機保留,以便它可以在運行時通過反射讀取. Documented 註解 Documented 註解表明這個註解應該被 javadoc工具記錄. 默認情況下,javadoc是不包括註解的. 但如果聲明註解時指定了 @Documented,則它會被 javadoc 之類的工具處理, 所以註解類型信息也會被包括在生成的文檔中. 示例6進一步演示了使用 @Documented: Java註解的示例2: 復制代碼 代碼如下: @Documented public @interface Test_Documented { String doTestDocument(); } 接下來,像下面這樣修改TestAnnotations類: 代碼如下: public class TestAnnotations { public static void main(String arg[]) { new TestAnnotations().doSomeTestRetention(); new TestAnnotations().doSomeTestDocumented(); } @Test_Retention (doTestRetention="保留註解信息測試") public void doSomeTestRetention() { System.out.printf("測試註解類型 ‘Retention‘"); } @Test_Documented(doTestDocument="Hello document") public void doSomeTestDocumented() { System.out.printf("測試註解類型 ‘Documented‘"); } } 現在,如果你使用 javadoc命令生成 TestAnnotations.html文件 從截圖可以看到,文檔中沒有 doSomeTestRetention() 方法的 annotation-type信息()方法. 但是, doSomeTestDocumented() 方法的文檔提供了註解的描述信息. 這是因為 @Documented標簽被加到了Test_Documented註解上. 之前的註解Test_Retention並沒有指定 @Documented 標記(tag). http://blog.csdn.net/snow_crazy/article/details/39381695 Inherited作用是,使用此註解聲明出來的自定義註解,在使用此自定義註解時,如果註解在類上面時,子類會自動繼承此註解,否則的話,子類不會繼承此註解。這裏一定要記住,使用Inherited聲明出來的註解,只有在類上使用時才會有效,對方法,屬性等其他無效。
http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html

@Target:

[email protected]:Annotation可被用於 packages、types(類、接口、枚舉、Annotation類型)、類型成員(方法、構造方法、成員變量、枚舉值)、方法參數和本地變量(如循環變量、catch參數)。在Annotation類型的聲明中使用了target可更加明晰其修飾的目標。

  作用:用於描述註解的使用範圍(即:被描述的註解可以用在什麽地方)

java元註解