In Java ist @Deprecated eine Annotation, die dabei hilft, den Compiler darüber zu informieren, dass die spezifische Klasse, Methode oder das spezifische Feld nicht mehr verwendet wird, da sie eingestellt oder ersetzt wurde. Darüber hinaus sollte eine Warnung ausgegeben werden, wenn jemand versucht, es zu verwenden. Der Hauptvorteil einer veralteten Methode besteht darin, dass Änderungen vorgenommen werden, wenn Methoden umbenannt oder hinzugefügt werden. Da die Funktion des Programms beeinträchtigt werden kann, sind veraltete Annotationen sehr nützlich. Syntax, Funktionsweise und Beispiele der @deprecated-Annotation werden in den folgenden Abschnitten besprochen.
WERBUNG Beliebter Kurs in dieser Kategorie FINANZMODELLIERUNG & BEWERTUNG – Spezialisierung | 51 Kursreihe | 30 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
@deprecated kann in Klassen, Schnittstellen, Methoden, Mitgliedsvariablen, Konstruktoren usw. verwendet werden. Sehen wir uns jede davon im Detail an.
@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 . . . . . } }
Wie bereits besprochen, erfolgt die Ablehnung einer Methode, eines Felds oder einer Klasse mithilfe der Annotation @deprecated. Darüber hinaus wird zur Benachrichtigung des Entwicklers das Java-Doc-Tag @deprecated zusammen mit der Änderung in den Kommentarbereich eingefügt.
Im Folgenden sind einige der häufigsten Kontexte aufgeführt, in denen diese Anmerkung verwendet wird.
Hinweis:
Der Compiler gibt in folgenden Fällen keine veraltete Warnung aus:
Sehen wir uns einige der Programme an, die in Java veraltet sind. Stellen Sie beim Schreiben von Programmen immer sicher, dass Sie @Deprecated für veraltete Programme und @deprecated für Dokumentationszwecke verwenden.
Verwendet einen veralteten Variablennamen.
Code:
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); } }
Beispielausgabe
In diesem Programm ist eine Variable num1 veraltet und es wird auch eine neue Zahl deklariert, die anstelle von num1 verwendet werden soll. Beim Ausführen dieses Programms wird also der Wert 10 ausgegeben.
Verwendet einen veralteten Methodennamen.
Code:
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(); }}
Beispielausgabe
In diesem Programm ist eine Methode namens Methode1 veraltet und eine andere Methode namens Methode2 wird zur Verwendung anstelle von Methode1 deklariert. Wenn Sie also dieses Programm ausführen, wird die Zeile gedruckt.
Verwendet einen veralteten Methodennamen sowie den veralteten Variablennamen.
Code:
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); } }
Beispielausgabe
In diesem Programm werden die ersten beiden Programme so kombiniert, dass eine Variable „num1“ veraltet ist und außerdem eine neue „num“ zur Verwendung anstelle von „num1“ deklariert wird. Darüber hinaus ist eine Methode namens Methode1 veraltet und eine andere Methode namens Methode2 wird zur Verwendung anstelle von Methode1 deklariert. Beim Ausführen dieses Programms werden also der Wert 10 und eine Zeile gedruckt.
Verwendet einen veralteten Konstruktor sowie den veralteten Variablennamen.
Code:
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); }}
Beispielausgabe
In diesem Programm ist eine Variable num1 veraltet und es wird auch eine neue Zahl deklariert, die anstelle von num1 verwendet werden soll. Darüber hinaus ist der zuerst deklarierte Konstruktor ebenfalls veraltet und der zweite Konstruktor wird zur Verwendung anstelle des ersten Konstruktors deklariert. Beim Ausführen dieses Programms werden also der Wert 10 und eine Zeile gedruckt.
Anhand dieses Artikels erfahren Sie, was eine veraltete Version ist und in welchen verschiedenen Situationen sie von mehreren Benutzern verwendet werden kann. Darüber hinaus werden Syntax, Funktionsweise und Beispiele der @Deprecated-Annotation sowie funktionierende Codeausschnitte und Beispielausgaben besprochen.
Das obige ist der detaillierte Inhalt von@deprecated in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!