我的理解是,为了保持源兼容性,Java从不向公共接口引入新方法,因为这会破坏实现接口的现有客户端. Java Release指出了各州
一般而言,该政策如下,但下列进一步列出的任何不兼容性除外:
维护版本(例如1.4.1,1.4.2)不会引入任何新的语言功能或API.它们将保持彼此的源兼容性.
功能发布和主要版本(例如1.3.0,1.4.0,5.0)保持向上但不向下兼容源.
然而,包java.sql和javax.sql继续发展并引入许多不兼容的变化.例如,我注意到以下不兼容的更改(在Java 6中引入):
java.sql.Statement扩展java.sql.Wrapper,需要新的两种新方法.java.sql.Statement 介绍了3种新方法java.sql.PreparedStatement 介绍了19种新方法!java.sql.ResultSet 介绍48种新方法!你知道这些方法是如何以及为什么被添加的?是否java.sql与平台的其他部分区别对待?你知道关于这些新增内容的讨论/ JSR吗?