日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.3 @Deprecated注解

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.3 @Deprecated注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 中 @Deprecated 可以用來注解類、接口、成員方法和成員變量等,用于表示某個元素(類、方法等)已過時。當其他程序使用已過時的元素時,編譯器將會給出警告。

使用 @Deprecated 注解示例代碼如下:

@Deprecated public class Person {@Deprecatedprotected String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Deprecatedpublic void setNameAndAge(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";} }

上述代碼第 2 行類 Person、第 4 行的成員變量 name 和第 24 行的 setNameAndAge 方法都被 @Deprecated 注解。在 Eclipse 中這些被注解的 API 都會被畫上刪除線。調用這些 API 代碼也會有刪除線,示例代碼如下。

public class HelloWorld {public static void main(String[] args) {Person p = new Person();p.setNameAndAge("歪比巴卜", 20);p.name = "肉蛋蔥雞";} }

在 Eclipse 中代碼顯示如下圖所示。

從圖中可以看到代碼中不僅有刪除線,而且還有編譯警告。

Java 9 為 @Deprecated 注解增加了以下兩個屬性:

  • forRemoval:該 boolean 類型的屬性指定該 API 在將來是否會被刪除。
  • since:該 String 類型的屬性指定該 API 從哪個版本被標記為過時。

示例代碼如下所示:

class Test {// since屬性指定從哪個版本開始被標記成過時,forRemoval指定該API將來會被刪除@Deprecated(since = "9", forRemoval = true)public void print() {System.out.println("這里是C語言中文網Java教程!");} } public class DeprecatedTest {public static void main(String[] args) {// 下面使用info()方法時將會被編譯器警告new Test().print();} }

上面程序的第 12 行代碼使用了 Test 的 print() 方法,而 Test 類中定義 info() 方法時使用了 @Deprecated 修飾,表明該方法已過時,所以將會引起編譯器警告。

@Deprecated 的作用與文檔注釋中的 @deprecated 標記的作用基本相同,但它們的用法不同,前者是 Java 5 才支持的注解,無須放在文檔注釋語法(/** … */部分)中,而是直接用于修飾程序中的程序單元,如方法、類和接口等。

總結

以上是生活随笔為你收集整理的1.3 @Deprecated注解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。