java註解原始碼--註解基礎知識
阿新 • • 發佈:2019-02-04
註解準備知識:看到一個註解的原始碼
@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 表明該註解如果註解了父類,那麼子類就會繼承這些註解(即使子類沒有被任何註解)
@Repeatable 表明該註解可以在同一目標上多次使用,就像可以貼多個標籤
@AliasFor 註解屬性的別名 (給註解的這個屬性賦值就等於給AliasFor的這個屬性賦值)
註解可以有多個屬性,沒有指明key的,會【預設給註解屬性的value()賦值】