1、元註解
1.1 @Target
【作用】
用於指定標註的註解可以使用的位置,例如:@Target(ElementType.METHOD)
:表示可以使用在方法上,其他結構不能使用;@Target({ElementType .METHOD, ElementType.TYPE})
:表示可以使用在方法和介面、類別、枚舉上。
相關線上影片教學:java課程
1.2 @Retention
【作用】
用於指定所標註的註解保留階段,註解共有三個值:
@Retention(RetentionPolicy.SOURCE)
:表示保留到原始程式碼階段,編譯後消失
@Retention(RetentionPolicy.CLASS)
:表示保留到編譯階段,運行後消失
@Retention(RetentionPolicy.RUNTIME)
:表示保留到執行階段,若要透過反射讀取註解訊息,需要指定該註解保留階段為RUNTIME
1.3 @Inherited
【作用】
#表示這個註解是否可以被子類別繼承。
1.4 @Documented
【作用】
表示這個註解是否可以被 Javadoc 讀取到文件中。
2、註解宣告
【格式】
#【元註解】
【修饰符】 @interface 注解名 { 注解体 }
【範例】
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { }
3、設定參數宣告
【格式】
【数据类型】 参数名() default 默认值;
default 預設值:在需要設定預設值時,可以加,需要設定時,不用寫;
資料類型只能是:基本資料型態、String、Class、enum、Annotation,及以上所有類型的一維數組。
如果參數成員只有一個或使用頻率較高的參數可以定義參數名稱為:value,在使用註解時,若參數名稱為 value 可以省略,則直接寫輸入的值。
【範例】
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String name() default ""; }
4、讀取註解訊息
只有註解標註@Retention(RetentionPolicy.RUNTIME)
才能透過反射讀取。
讀取註解資訊透過反射讀取,具體如下:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public class TestInterface { public static void main(String[] args) { MyAnnotation myAnnotation = MyClass.class.getAnnotation(MyAnnotation.class); String value = myAnnotation.value(); System.out.println(value); } } @MyAnnotation class MyClass {} @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value() default "我是一个注解"; }
輸出結果:
以上是java基礎之註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),