我只想弃用给定类的扩展,而不是类中包含的所有方法和字段,使用@Deprecated 注释。
也就是说,如果您扩展给定的类,将会出现警告 - 但对方法或字段的引用不会触发警告。已经有几个扩展此类的类,我希望针对这些客户端发出弃用警告 - 我还不能破坏它们(但它们可以重新编译 - 不需要 ABI 兼容性)。
在 Java 1.6(JDT 编译器)中可以吗?
最佳答案
两个注意事项
1) 该类可能已经被扩展,所以不要将其标记为最终类,否则您可能会破坏向后兼容性。
2) 你不想扩展这个类,所以它应该被标记为final。
我认为您应该做的是用新类扩展旧类,将旧类标记为已弃用,并声明新类为最终类。在新类中,您可以添加 @SuppressWarning 标记来消除不推荐使用的消息,然后您应该会得到一个干净的编译。
使用旧类的代码将收到@Deprecated 警告,但仍会编译。使用新类的代码将干净地编译。这是对您的用户的“强烈建议”,而不是向后兼容的中断,而且由于 API 是 100% 兼容的,因此他们很容易修复。
关于java - 仅弃用类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996350/