java元註解(註解在註解上的註解)
阿新 • • 發佈:2018-12-23
//ElementType.TYPE 給類、介面、列舉上使用 @Target(ElementType.TYPE)//給註解進行註解,表示該註解可以用在什麼地方 //@Retention(RetentionPolicy.CLASS)//表示註解傳遞存活時間,CLASS表示註解保留到編譯進行時期,不會被載入到jvm中 @Retention(RetentionPolicy.RUNTIME)//註解可以保留到程式執行時,並被載入到jvm中,因為反射獲取的時類的執行時的狀態,所以可以通過反射機制讀取註解的資訊,這個使用較多 public @interface AnnotationClass { /** * 元註解: * ★ 元註解:JDK提供了幾個特殊的註解,只能用在註解上面。 * @Target:表示該註解可以用於什麼地方,取值如下: * ElementType.ANNOTATION_TYPE 可以給一個註解進行註解 * ElementType.CONSTRUCTOR 可給構造方法進行註解 * ElementType.FIELD 可給屬性進行註解 * ElementType.LOCAL_VARIABLE 可給區域性變數進行註解 * ElementType.METHOD 可給方法進行註解 * ElementType.PACKAGE 可給一個包進行註解 * ElementType.PARAMETER 可給一個方法內的引數進行註解 * ElementType.TYPE 可給一個型別進行註解,比如類、介面、列舉 * @Retention:表示註解傳遞存活時間。取值如下: * - RetentionPolicy.SOURCE 註解只在原始碼階段保留,在編譯器編譯時它將被丟棄。 * - RetentionPolicy.CLASS 註解只被保留到編譯進行的時候,它並不會被載入到 JVM 中。 * - RetentionPolicy.RUNTIME 註解可保留到程式執行時並被載入到 JVM 中,因此可通過反射機制讀取註解的資訊。 * @Documented:將註解包含到 Javadoc 中 * @Inherited:允許子類繼承父類中的註解 如父類Animal有一個註解@Test,且@Test註解上有@Inherited註解, * 那麼該父類Animal的子類Cat也預設有@Test註解*/ }