首頁 >Java >java教程 >@ Java 中已棄用

@ Java 中已棄用

WBOY
WBOY原創
2024-08-30 16:22:15693瀏覽

在 Java 中,@Deprecated 是一個註釋,有助於通知編譯器特定的類別、方法或欄位因已停止或被取代而不再使用。此外,當有人試圖使用它時,應發出警告。棄用的主要優點是在重新命名或添加任何方法的情況下,會發生變更。由於它可能會影響程式的運行,因此已棄用的註釋變得非常有用。 @deprecated 註釋的語法、工作原理和範例將在以下部分中討論。

廣告 該類別中的熱門課程 財務建模與估值 - 專業化 | 51 課程系列 | 30 次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

Java @deprecated 註解的語法

@deprecated 可以用在類別、介面、方法、成員變數、建構子等。讓我們詳細看看它們。

1.介面棄用語法

@deprecated
interface sample
{
//methods of the interface
.... .
}

2.類棄用語法:

@deprecated
class sample
{
//implementation of the class sample
. . . . .
}

3.方法棄用文法

@deprecated
class sample
{
@deprecated
Public void samplemethod1()
{
//implementation of the old samplemethod
. . . . .
}
Public void samplemethod2()
{
//implementation of the newsamplemethod
. . . . .
}
}

4.成員變數折舊語法

class sample
{
@deprecated
//old field
Public static final float PI=3.14
// new field
Public static final float PI_VALUE=3.14
}

5.建構子棄用語法

class sample
{
@deprecated
sample(int a, int b, int c)
{
//implementation of the old constructor
. . . . .
}
sample(intd)
{
//implementation of the new constructor
. . . . .
}
}

@deprecated 在 Java 中如何運作?

如前所述,方法、欄位或類別的棄用是透過使用 @deprecated 註解來完成的。除此之外,為了通知開發人員,@deprecated java doc 標籤將與修改一起包含在註釋部分中。

以下是使用此註解的一些常見上下文。

  • 建構子宣告
  • 形參聲明
  • 班級聲明
  • 包裹聲明
  • 方法宣告
  • 局部變數的宣告
  • 欄位聲明
  • 介面聲明
  • 枚舉聲明

注意:

在下列情況下編譯器不會發出已棄用的警告:

  • 如果已棄用的元素被其他已棄用的元素使用。也就是說,已棄用的類別呼叫已棄用的建構子。
  • 如果在具有註釋 @SuppressWarnings(“deprecation”) 的實體內部使用已棄用的元素。
  • 如果已棄用的元素已在同一個最外層類別中聲明和使用。

Java 中 @deprecated 的範例

讓我們來看看一些在 Java 中使用 deprecated 的程式。在編寫程式時,請務必確保使用 @Deprecated 進行棄用,並使用 @deprecated 進行文件記錄。

範例#1

使用已棄用的變數名稱。

代碼:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1 = 10;
//new field
final int newnum = 10;
public static void main(String a[]){
//create an object for the class
depexample obj = new depexample();
//print num
System.out.println(obj.num1);
}
}

範例輸出

@ Java 中已棄用

在此程式中,變數 num1 已被棄用,並且也聲明使用 Newnum 來取代 num1。因此,在執行該程式時,會列印值 10。

範例#2

使用已棄用的方法名稱。

代碼:

public class depexample {
/* @deprecated The function method1 will be replaced by method2
*/
@Deprecated
//old method
public void method1(){
System.out.println("This is a deprecated method");
}
//new method
public void method2(String m1, String m2){
System.out.println(m1+m2);
}
public static void main(String a[]){
//class object
depexample obj = new depexample();
//call old method
obj.method1();
}}

範例輸出

@ Java 中已棄用

在此程式中,不建議使用名為 method1 的方法,並聲明使用另一個名為 method2 的方法來取代 method1。因此,在執行該程式時,會列印該行。

範例#3

使用已棄用的方法名稱以及已棄用的變數名稱。

代碼:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1 = 10;
//new field
final int newnum=10;
/* @deprecated The function method1 will be replaced by method2
*/
//old method
public void method1(){
System.out.println("This is a deprecated method");
}
//new method
public void method2(String m1, String m2){
System.out.println(m1+m2);
}
public static void main(String a[]){
//class object
depexample obj = new depexample();
//call old method
obj.method1();
//print num
System.out.println(obj.num1);
}
}

範例輸出

@ Java 中已棄用

在這個程式中,前兩個程式被組合起來,變數 num1 被棄用,並且也宣告使用 Newnum 來取代 num1。此外,不建議使用名為 method1 的方法,並聲明使用另一個名為 method2 的方法來取代 method1。  因此,執行該程序時,會列印值 10 和一行。

範例#4

使用已棄用的建構子以及已棄用的變數名稱。

代碼:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1=10;
//new field
final static int newnum=10;
/* @deprecated The constructor depexamplewill be replaced by second depexample
*/
//old constructor
depexample(int a, int b, int c){
System.out.println("This is a deprecated method");
}
//new constructor
depexample(float d, int e, float f){
System.out.println(d+f);
}
public static void main(String a[]){
//class object
depexample obj = new depexample(newnum, newnum, newnum);
//print num
System.out.println(obj.num1);
}}

範例輸出

@ Java 中已棄用

在此程式中,變數 num1 已被棄用,並且也聲明使用 Newnum 來取代 num1。此外,首先宣告的建構函式也已被棄用,並且宣告使用第二個建構函式來取代第一個建構函式。  因此,執行該程序時,會列印值 10 和一行。

結論

透過本文,您將能夠了解什麼是棄用以及多個使用者可以使用它的不同情況。除此之外,還討論了 @Deprecated 註解的語法、工作、範例,以及工作程式碼片段和範例輸出。

以上是@ Java 中已棄用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Java 中的 EJB下一篇:Java 中的 EJB