自1.6版以来,在Statement
接口中声明了另外三种方法。
据我了解,这打破了java最大的优势之一 - 向后兼容性。在从jdk 1.5转换到jdk 1.6之后,我的项目不再编译,我必须更改代码。
以这种糟糕的方式添加这三种方法(isPoolable
,setPoolable
,isClosed
)的原因是什么?
答案 0 :(得分:6)
如果您实现接口,则添加接口方法是个问题,例如您正在编写自己的JDBC驱动程序。如果你有一个使用这些方法的库调用一个没有实现这些方法的库,你将得到一个NoSuchMethodError。
我假设添加了这些方法,因为对于大多数用例而言,它被认为是无害的。