更新時間:2020-06-28 15:48:53 來源:動力節點 瀏覽2598次
Java的注解是Java中非常好用的一個功能點?;舅械膉ava框架都會用到。在我們日常的工作中,如果善于使用自定義注解,講給我們節省下大量的時間。
代碼示例:
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
Documented
Target(ElementType.METHOD)
Inherited
Retention(RetentionPolicy.RUNTIME)
public interface MyDemo{
String author()default'yunsheng';
}
對自定義注解進行注解的稱為元注解。常用的元注解有四類:
Documented:表明此注解會被javadoc等類似工具識別,并保留在API文檔中。
Target:聲明這個注解可使用的范圍??梢源蜷_ElementType看下,分別是:1)類,接口,注解,enum;2)屬性域;3)方法;4)參數;5)構造函數;6)局部變量;7)注解類型;8)包
Inherited:繼承。是說如果你在父類上使用了被 Inherited注解的注解A。那么該類的子類也會繼承該注解A。
Retention:注解的存在范圍。
有三個范圍:
RetentionPolicy.SOURCE只存在源碼級別,被編譯器拋棄( Override就是此類);
RetentionPolicy.CLASS會被編譯器保留在編譯后的類文件中,但是會被虛擬機丟棄;
RetentionPolicy.RUNTIME保留在運行時,可以被反射讀取。這個注解還是比較重要的,我們一般是會使用RUNTIME級別,因為我們需要通過反射讀取到這個注解。
使用:
使用起來其實很簡單,就是通過反射拿到注解信息。
如:Method的幾個方法:
isAnnotationPresent(xx.xx.class):方法判斷是否使用了xx注解
getAnnotation(xx.class):獲取具體的注解對象實例
getDeclaredAnnotations():獲取所有注解,注意反射方法中Declared都是獲取自身的,不包括繼承來的。
getAnnotations():獲取包括繼承來的注解。這里就要看父類的注解是否是可繼承的了。
以上就是動力節點java培訓機構的小編針對“初學者學會使用Java自動注釋”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習