java - 仅弃用类继承

标签 java warnings deprecated eclipse-jdt

我只想弃用给定类的扩展,而不是类中包含的所有方法和字段,使用@Deprecated 注释。

也就是说,如果您扩展给定的类,将会出现警告 - 但对方法或字段的引用不会触发警告。已经有几个扩展此类的类,我希望针对这些客户端发出弃用警告 - 我还不能破坏它们(但它们可以重新编译 - 不需要 ABI 兼容性)。

在 Java 1.6(JDT 编译器)中可以吗?

最佳答案

两个注意事项

1) 该类可能已经被扩展,所以不要将其标记为最终类,否则您可能会破坏向后兼容性。

2) 你不想扩展这个类,所以它应该被标记为final。

我认为您应该做的是用新类扩展旧类,将旧类标记为已弃用,并声明新类为最终类。在新类中,您可以添加 @SuppressWarning 标记来消除不推荐使用的消息,然后您应该会得到一个干净的编译。

使用旧类的代码将收到@Deprecated 警告,但仍会编译。使用新类的代码将干净地编译。这是对您的用户的“强烈建议”,而不是向后兼容的中断,而且由于 API 是 100% 兼容的,因此他们很容易修复。

关于java - 仅弃用类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996350/

相关文章:

java - 如何有效地迭代 Java Map 中的每个条目?

java - 如何修剪 java stringbuilder?

java - 运行 spark 时出现堆错误?

php - 将已弃用的mysql_result更改为mysqli [duplicate]

java - JDK 1.5 中的 MessageFormat.format 和 String.format 有什么区别?

c - 为什么这个程序不产生任何警告?

c - va_start 警告 "second parameter of ' va_start ' not last named argument"

ios - 'imgView' 的本地声明隐藏实例变量(应用程序崩溃)

jestjs - isVueInstance 已弃用,将在未来版本中删除

java - 错误 : "The method show() from the type Window is deprecated"