本教程操作環(huán)境:windows7系統(tǒng)、java10版,DELL G3電腦。
1.@Retention定義
這里的 RetentionPolicy 依然是一個枚舉類型,它有以下幾個枚舉值可取:
RetentionPolicy.SOURCE:當前注解編譯期可見,不會寫入 class 文件
RetentionPolicy.CLASS:類加載階段丟棄,會寫入 class 文件
RetentionPolicy.RUNTIME:永久保存,可以反射獲取
@Retention 注解指定了被修飾的注解的生命周期,一種是只能在編譯期可見,編譯后會被丟棄,一種會被編譯器編譯進 class 文件中,無論是類或是方法,乃至字段,他們都是有屬性表的,而 JAVA 虛擬機也定義了幾種注解屬性表用于存儲注解信息,但是這種可見性不能帶到方法區(qū),類加載時會予以丟棄,最后一種則是永久存在的可見性。
2.@Retention創(chuàng)建自定義注解實例
package com.one;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
@Retention(RetentionPolicy.RUNTIME)
@Target( {ElementType.TYPE })//注解的作用目標為 接口、類、枚舉、注解 ***詳見下文
public @interface RetentionTest {
String item(); // 定義基本屬性 若只有一個屬性,屬性名固定為value();
String color();
}
以上就是Java中@Retention創(chuàng)建注解的實例教學,小伙伴們可以對@Retention的基本內容性了解,然后再進行代碼的演練哦~更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業(yè),有針對零基礎的就業(yè)班,有針對想提升技術的好程序員班,高品質課程助力你實現(xiàn)java程序員夢想。