在 Java 中,@Deprecated 是一個註釋,有助於通知編譯器特定的類別、方法或欄位因已停止或被取代而不再使用。此外,當有人試圖使用它時,應發出警告。棄用的主要優點是在重新命名或添加任何方法的情況下,會發生變更。由於它可能會影響程式的運行,因此已棄用的註釋變得非常有用。 @deprecated 註釋的語法、工作原理和範例將在以下部分中討論。
廣告 該類別中的熱門課程 財務建模與估值 - 專業化 | 51 課程系列 | 30 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
@deprecated 可以用在類別、介面、方法、成員變數、建構子等。讓我們詳細看看它們。
@deprecated interface sample { //methods of the interface .... . }
@deprecated class sample { //implementation of the class sample . . . . . }
@deprecated class sample { @deprecated Public void samplemethod1() { //implementation of the old samplemethod . . . . . } Public void samplemethod2() { //implementation of the newsamplemethod . . . . . } }
class sample { @deprecated //old field Public static final float PI=3.14 // new field Public static final float PI_VALUE=3.14 }
class sample { @deprecated sample(int a, int b, int c) { //implementation of the old constructor . . . . . } sample(intd) { //implementation of the new constructor . . . . . } }
如前所述,方法、欄位或類別的棄用是透過使用 @deprecated 註解來完成的。除此之外,為了通知開發人員,@deprecated java doc 標籤將與修改一起包含在註釋部分中。
以下是使用此註解的一些常見上下文。
注意:
在下列情況下編譯器不會發出已棄用的警告:
讓我們來看看一些在 Java 中使用 deprecated 的程式。在編寫程式時,請務必確保使用 @Deprecated 進行棄用,並使用 @deprecated 進行文件記錄。
使用已棄用的變數名稱。
代碼:
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); } }
範例輸出
在此程式中,變數 num1 已被棄用,並且也聲明使用 Newnum 來取代 num1。因此,在執行該程式時,會列印值 10。
使用已棄用的方法名稱。
代碼:
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(); }}
範例輸出
在此程式中,不建議使用名為 method1 的方法,並聲明使用另一個名為 method2 的方法來取代 method1。因此,在執行該程式時,會列印該行。
使用已棄用的方法名稱以及已棄用的變數名稱。
代碼:
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); } }
範例輸出
在這個程式中,前兩個程式被組合起來,變數 num1 被棄用,並且也宣告使用 Newnum 來取代 num1。此外,不建議使用名為 method1 的方法,並聲明使用另一個名為 method2 的方法來取代 method1。 因此,執行該程序時,會列印值 10 和一行。
使用已棄用的建構子以及已棄用的變數名稱。
代碼:
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); }}
範例輸出
在此程式中,變數 num1 已被棄用,並且也聲明使用 Newnum 來取代 num1。此外,首先宣告的建構函式也已被棄用,並且宣告使用第二個建構函式來取代第一個建構函式。 因此,執行該程序時,會列印值 10 和一行。
透過本文,您將能夠了解什麼是棄用以及多個使用者可以使用它的不同情況。除此之外,還討論了 @Deprecated 註解的語法、工作、範例,以及工作程式碼片段和範例輸出。
以上是@ Java 中已棄用的詳細內容。更多資訊請關注PHP中文網其他相關文章!