1、三種基本的Annotaton
@Override : 限定某個方法,是重寫父類方法 , 該注解只能用于方法
@Deprecated : 用于表示某個程序元素 ( 類 , 方法等 ) 已過時
@SuppressWarnings : 抑制編譯器警告
@Override
解讀
@Override表示son重寫了fly方法
細節
如果沒有@Override還是會重寫fly方法
寫了@Override注解,編譯器就會去檢查方法是否重寫了父類方法,如果重寫了,則編譯通過。若沒有重寫,則編譯錯誤。
@Override只能修飾方法,不能修飾其他類,包,屬性等等
@Deprecated
解讀
@Deprecated表示某個程序元素(類,方法等)已過時,會通過單詞中間的橫線提醒。表示不建議使用。
效果
細節可以修飾方法,類,包,參數等等
2.@Deprecated的作用可以起到做新舊版本的兼容過渡
@SuppressWarnings
解讀
@SuppressWarnings注解可以用來抑制警告信息{""}寫入你希望抑制的警告信息
效果
細節
1.@SuppressWarnings作用范圍和你放置的位置相關
指定警告類型有
all,抑制所有警告
boxing,抑制與封裝/拆裝作業相關的警告
cast,抑制與強制轉型作業相關的警告
dep-ann,抑制與淘汰注釋相關的警告
deprecation,抑制與淘汰的相關警告
fallthrough,抑制與switch陳述式中遺漏break相關的警告
finally,抑制與未傳回finally區塊相關的警告
hiding,抑制與隱藏變數的區域變數相關的警告
incomplete-switch,抑制與switch陳述式(enum case)中遺漏項目相關的警告
javadoc,抑制與javadoc相關的警告
nls,抑制與非nls字串文字相關的警告
null,抑制與空值分析相關的警告
rawtypes,抑制與使用raw類型相關的警告
resource,抑制與使用Closeable類型的資源相關的警告
restriction,抑制與使用不建議或禁止參照相關的警告
serial,抑制與可序列化的類別遺漏serialVersionUID欄位相關的警告
static-access,抑制與靜態存取不正確相關的警告
static-method,抑制與可能宣告為static的方法相關的警告
super,抑制與置換方法相關但不含super呼叫的警告
synthetic-access,抑制與內部類別的存取未最佳化相關的警告
sync-override,抑制因為置換同步方法而遺漏同步化的警告
unchecked,抑制與未檢查的作業相關的警告
unqualified-field-access,抑制與欄位存取不合格相關的警告
unused,抑制與未用的程式碼及停用的程式碼相關的警告
元注解
- Retention 指定注解的作用范圍,三種SOURCE,CLASS,RUNTIME
- Target 指定注解可以在哪些地方使用
- Documented 指定該注解是否會在javadoc體現
- Inherited 子類會繼承父類注解
Retention
- RetentionPolicy.SOURCE :編譯器使用后,直接丟棄注釋
- RetentionPolicy.CLASS: 編譯器把注解記錄在class文件中,當運行java時JVM不會保留注釋
- RetentionPolicy.PUNTIME:編譯器把注解記錄在class文件中,當運行java時JVM保留注釋
Retention案例
@Override底層(IDEA進入底層的快捷鍵為Ctrl+B)
Target
Target的值
Target案例
@Deprecated底層
Documented
Documented案例
@Deprecated底層
Inherited
被它修飾的Annotation將具有繼承性,如果某個類使用了被@Inherited修飾的Annotation,則其子類將自動具有該注解
到此這篇關于Java注解Annotaton 的文章就介紹到這了,更多相關Java注解Annotaton 內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!