仅弃用类继承

Bee*_*ope 7 java warnings deprecated eclipse-jdt

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

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

是否有可能在Java 1.6(JDT编译器)?

Zak*_*Zak 5

两个考虑

1)该类可能已经扩展,因此不要将其标记为最终,否则可能会破坏向后兼容性.

2)你不希望课程扩展,所以应该标记为final.

我认为你应该做的是用新类扩展旧类,标记旧类被弃用,并声明新类final.在新类中,您可以添加@SuppressWarning标记来安排已弃用的消息,然后您应该进行清理编译.

使用旧类的代码将获得@Deprecated警告,但仍将编译..使用新类的代码将干净地编译.对您的用户而言是一种"强烈建议",而不是向后兼容的中断,并且由于API 100%兼容,因此很容易修复.