在 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中文网其他相关文章!