1. 程式人生 > >java註解原始碼--註解基礎知識

java註解原始碼--註解基礎知識

註解準備知識:看到一個註解的原始碼

@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()賦值】