在 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); } }
示例输出
在此程序中,变量 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(); }}
示例输出
在此程序中,不推荐使用名为 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); } }
示例输出
在这个程序中,前两个程序被组合起来,变量 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); }}
示例输出
在此程序中,变量 num1 已被弃用,并且还声明使用 Newnum 来代替 num1。此外,首先声明的构造函数也已被弃用,并且声明使用第二个构造函数来代替第一个构造函数。 因此,在执行该程序时,会打印值 10 和一行。
结论
通过本文,您将能够了解什么是弃用以及多个用户可以使用它的不同情况。除此之外,还讨论了 @Deprecated 注释的语法、工作、示例,以及工作代码片段和示例输出。
以上是@在 Java 中已弃用的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境