为什么java.sql.Statement会破坏向后兼容性?

时间:2011-11-30 14:43:14

标签: java backwards-compatibility

自1.6版以来,在Statement接口中声明了另外三种方法。

据我了解,这打破了java最大的优势之一 - 向后兼容性。在从jdk 1.5转换到jdk 1.6之后,我的项目不再编译,我必须更改代码。

以这种糟糕的方式添加这三种方法(isPoolablesetPoolableisClosed)的原因是什么?

1 个答案:

答案 0 :(得分:6)

如果您实现接口,则添加接口方法是个问题,例如您正在编写自己的JDBC驱动程序。如果你有一个使用这些方法的库调用一个没有实现这些方法的库,你将得到一个NoSuchMethodError。

我假设添加了这些方法,因为对于大多数用例而言,它被认为是无害的。