久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Java注解Annotaton詳解

Java注解(Annotation)又稱Java標注,是JDK5.0引入的一種注釋機制,文中給大家介紹了三種基本的Annotaton,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要

1、三種基本的Annotaton

@Override : 限定某個方法,是重寫父類方法 , 該注解只能用于方法
@Deprecated : 用于表示某個程序元素 ( 類 , 方法等 ) 已過時
@SuppressWarnings : 抑制編譯器警告

@Override

class father{
   public void fly(){}
}
class son extends father{
    @Override
    public void fly() {
        super.fly();
    }
}

解讀

@Override表示son重寫了fly方法

細節

如果沒有@Override還是會重寫fly方法

class father{
   public void fly(){}
}
class son extends father{
    public void fly() {
        super.fly();
    }
}

寫了@Override注解,編譯器就會去檢查方法是否重寫了父類方法,如果重寫了,則編譯通過。若沒有重寫,則編譯錯誤。

@Override只能修飾方法,不能修飾其他類,包,屬性等等

//@Override底層代碼
@Target(ElementType.METHOD)//ElementType.METHOD說明@Override只能修飾方法
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

@Deprecated

public class Deprecatedtext {
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@Deprecated
class father{
    @Deprecated
   public void fly(){}
}

解讀

@Deprecated表示某個程序元素(類,方法等)已過時,會通過單詞中間的橫線提醒。表示不建議使用。

效果

細節可以修飾方法,類,包,參數等等

//@Deprecated底層代碼
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//說明Deprecated能修飾方法,類,包,參數等等
public @interface Deprecated {
}

2.@Deprecated的作用可以起到做新舊版本的兼容過渡

@SuppressWarnings

@SuppressWarnings("all")
class father{
   public void fly(){}
}

解讀

@SuppressWarnings注解可以用來抑制警告信息{""}寫入你希望抑制的警告信息

效果

細節

1.@SuppressWarnings作用范圍和你放置的位置相關

public class Enumtext {
    @SuppressWarnings("all")//作用范圍在main方法
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@SuppressWarnings("all")//作用范圍在father類
class father{
   public void fly(){}
}

指定警告類型有

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(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)//表示@Override在編譯器使用后,直接丟棄注釋
public @interface Override {
}

Target

Target的值

@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
//   1.CONSTRUCTOR:用于描述構造器
    2.FIELD:用于描述域
    3.LOCAL_VARIABLE:用于描述局部變量
    4.METHOD:用于描述方法
    5.PACKAGE:用于描述包
    6.PARAMETER:用于描述參數
    7.TYPE:用于描述類、接口(包括注解類型) 或enum聲明

Target案例

@Deprecated底層

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在這些地方可以寫注解
public @interface Deprecated {
}

Documented

Documented案例

@Deprecated底層

@Documented//@Deprecated代碼會被保存到生產的文檔中
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}

Inherited

被它修飾的Annotation將具有繼承性,如果某個類使用了被@Inherited修飾的Annotation,則其子類將自動具有該注解

到此這篇關于Java注解Annotaton 的文章就介紹到這了,更多相關Java注解Annotaton 內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

主站蜘蛛池模板: 亚洲视频二区 | 91视频观看 | 中文字幕日本一区二区 | 国产综合视频 | 久久国产精品免费一区二区三区 | 91网在线播放 | 一区二区三区视频 | 在线欧美一区 | 久久精品中文 | 亚洲天堂一区 | 91精品久久久| 精品一二区 | 精品欧美一区二区三区久久久 | 亚洲精品九九 | 久久精品亚洲 | 亚洲精品一区二区三区四区高清 | 伊人久久综合 | av手机在线免费观看 | 天天看天天爽 | 日韩精品一| 在线观看三级av | 日韩福利在线 | 欧美狠狠操 | 久久国产精品久久久久久久久久 | 午夜久久久 | 日韩精品成人一区二区三区视频 | 污片在线免费观看 | 亚洲精品一区二区三区中文字幕 | 亚洲高清在线观看 | 成年无码av片在线 | 久久久激情| 99精品99| 亚洲欧美日韩国产 | 国产美女福利在线观看 | 国产福利二区 | 国产一区二区日韩 | 91高清在线观看 | 91欧美| 欧美日韩精品在线一区 | 一级一级毛片免费看 | 久久久91|