JavaSE(十五)——注解
生活随笔
收集整理的這篇文章主要介紹了
JavaSE(十五)——注解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 概述
- 2. 內置注解
- 3. 元注解
- 4. 自定義注解
1. 概述
- 不是程序本身,但可以對程序作出解釋,可以被其他程序(比如:編譯器)讀取。
- 格式:@注釋名(參數值)
- 使用范圍:可以附加在package、class、method、field等上面。
2. 內置注解
-
@Override: 只適用于修飾方法,表示一個方法聲明打算重寫超類中另一個方法聲明。
-
@Deprecated: 用于修飾方法、屬性、類,表示不鼓勵使用這樣的元素。注:可以看出用@Deprecated修飾的getTime()方法被畫上一條橫線,表示此方法已過時。
-
@SuppressWarnings: 用來抑制編譯時的警告信息,與前 兩者不同的是,需要增加一個參數才能正確使用。如@SuppressWarnings(“all”)表示鎮(zhèn)壓警告。
3. 元注解
- 作用是負責注解其他注解
- @Target: 用于描述注解的使用范圍,即被描述的注解可以用在什么地方,如方法、字段、類。你可以這樣理解,當一個注解被 @Target 注解時,這個注解就被限定了運用的場景。@Target 的取值如下:
-ElementType.METHOD 可以給方法進行注解
-ElementType.FIELD 可以給屬性進行注解
-ElementType.TYPE 可以給一個類型進行注解,比如類、接口、枚舉
-ElementType.LOCAL_VARIABLE 可以給局部變量進行注解
-ElementType.ANNOTATION_TYPE 可以給一個注解進行注解
-ElementType.CONSTRUCTOR 可以給構造方法進行注解 - @Retention: 表示需要在什么級別保存該注釋信息,用于描述注解的生命周期。(SOURCE<CLASS<RUNTIME),@Retention的取值如下:
-RetentionPolicy.SOURCE 注解只在源碼階段保留,在編譯器進行編譯時它將被丟棄忽視。
-RetentionPolicy.CLASS 注解只被保留到編譯進行的時候,它并不會被加載到 JVM 中。
-RetentionPolicy.RUNTIME 注解可以保留到程序運行的時候,它會被加載進入到 JVM 中,所以在程序運行時可以獲取到它們。
4. 自定義注解
- 格式:public @interface 注解名{定義內容}
- 每一個方法實際上是聲明了一個配置參數
- 方法的名稱就是參數的名稱
- 返回值類型就是參數類型,返回值只能是基本類型,Class,String,enum
- 可以通過default來聲明參數的默認值
- 如果只有一個參數成員,一般參數名為value
- 注解元素必須要有值,在定義注解元素時,經常使用空字符串,0作為默認值
- 案例
總結
以上是生活随笔為你收集整理的JavaSE(十五)——注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaSE(十四)——网络编程(IP地
- 下一篇: JavaSE(十六)——反射