java注解
即是注釋了,百度解釋:也叫元數據。一種代碼級別的說明。 個人理解:就是內容可以被代碼理解的注釋,一般是一個類。
元數據
也叫元注解,是放在被定義的一個注解類的前面 ,是對注解一種限制。只有兩個: @Retention 和 @Target (我只查到這兩個).
@Retention :用來說明該注解類的生命周期。它有以下三個參數:
RetentionPolicy.SOURCE : 注解只保留在源文件中
RetentionPolicy.CLASS : 注解保留在class文件中,在加載到JVM虛擬機時丟棄
RetentionPolicy.RUNTIME : 注解保留在程序運行期間,此時可以通過反射獲得定義在某個類上的所有注解。
@Target : 用來說明該注解可以被聲明在那些元素之前。
ElementType.TYPE:說明該注解只能被聲明在一個類前。
ElementType.FIELD:說明該注解只能被聲明在一個類的字段前。
ElementType.METHOD:說明該注解只能被聲明在一個類的方法前。
ElementType.PARAMETER:說明該注解只能被聲明在一個方法參數前。
ElementType.CONSTRUCTOR:說明該注解只能聲明在一個類的構造方法前。
ElementType.LOCAL_VARIABLE:說明該注解只能聲明在一個局部變量前。
ElementType.ANNOTATION_TYPE:說明該注解只能聲明在一個注解類型前。
ElementType.PACKAGE:說明該注解只能聲明在一個包名前。
注解的定義:
注解的定義使用關鍵詞 @interface ,並在上面一行注明@Rentention(arg) 或者@Target(args) , 樣例如下:
@Rentention(RetentionPolicy.RUNTIME)
public @interface Annotation01 {
//定義公共的final靜態屬性
.....
//定以公共的抽象方法
......
}
常見基本內置注解
@Override 當我們想重寫一個方法時,在方法上加@Override,當我們方法的名字出錯時,編譯器就會報錯。 定義如下:
@Retention(RetentionPolicy.SOURCE )
public @interface Override
@Deprecated 用來表示某個類的屬性或方法已經過時,不想別人再用時,在屬性和方法上用@Deprecated修飾。 定義如下:
@Retention(RetentionPolicy.SOURCE )
public @interface Deprecated
@SuppressWarnings 用來壓制程序中出來的警告。 定義如下:
@Retention(RetentionPolicy.SOURCE )
public @interface SuppressWarnings
注解的使用
定義注解--》聲明注解-->獲得注解;
其中 獲得注解 通過被修飾的對象的 getAnnotation 或 getAnnotations 方法獲得。