我在网上搜索过,我发现是这样的:
为了使编译器警告您使用已弃用的方法的详细信息,请使用该
javac.exe
-deprecation
开关。然后在 Javadoc 中查找已弃用的方法以找出推荐的替代方法。有时你只需要重命名。有时替代品的工作方式完全不同。
但我不太明白它是如何工作的,有人可以帮我吗?
我在网上搜索过,我发现是这样的:
为了使编译器警告您使用已弃用的方法的详细信息,请使用该
javac.exe
-deprecation
开关。然后在 Javadoc 中查找已弃用的方法以找出推荐的替代方法。有时你只需要重命名。有时替代品的工作方式完全不同。
但我不太明白它是如何工作的,有人可以帮我吗?
方法弃用是为了警告程序员该方法目前不是用于所需功能的最佳方法。它是通过使用@deprecated
javadoc 注释来完成的。当您使用-deprecated
标志 to 时javac
,它只是告诉javac
在看到这些 javadoc 注释时发出警告。它告诉您使用不推荐使用的方法的行号,以及不推荐使用的方法的名称。
从那里,您可以在 Sun(呃...Oracle)网站上查看 JDK 的 javadoc,了解获得所需功能的建议。有时,替换涉及进行多个方法调用,而您过去只会调用一个。通常,文档会很好地为您提供示例,并在有新的做事方式时为您指明正确的方向。
要找出不推荐使用的方法和类,请按照引用的文本中的说明进行操作。您使用“-deprecation”开关进行编译,有问题的方法/类将显示为编译警告消息。(如果您使用的是 IDE,那么将通过其他方式启用/禁用弃用警告。)
如果您实际上是在询问编译器如何知道一个方法或类已被弃用,答案是通过将“@deprecated”标记放入相应的 javadoc 注释中,将一个类或方法标记为已弃用。java 编译器注意到这一点,并在编译类时在字节码文件中设置一个属性。然后,当您尝试在代码中使用类/方法时,java 编译器会读取字节码、记录属性并输出警告消息。
弃用旨在向开发人员强烈暗示不应再使用所讨论的方法或类。不推荐使用的类或方法通常有一些缺陷(主要或次要),如果不破坏现有代码就无法修复。相反,已经实现了不兼容的替换,需要您对源代码进行一些更改。
理论上,不推荐使用的类和方法可能会在未来的版本中被删除。虽然 Sun 很少(如果有的话)这样做,但第三方库开发人员更愿意在清理其 API 时删除已弃用的方法。
您可以使用 NetBeans IDE。它将通过打击该方法显示已弃用的方法,您还可以查看原因和替代方法。
如果您为正在使用的类附加了所需的 javadoc,您可以使用任何 IDE,例如 eclipse,它可以在编程时显示已弃用的方法。