实现java 众多API中的一个是一件困难的工作。你必须经常实现许多相互依靠的接口。对新特征的需求促进了最新Java API的创建,投资商们必须不断的更新他们的实现以跟上时代的需要。当复杂性和持续修改可以理解甚至被看好时, API 版本的不兼容性迫使你为更新的版本保留独立的代码库,从而N次方增加你的受挫等级。本文演示了如何克服接口版本的不兼容性,制作可为多个API版本编译的代码库的进程。
/** Dummy class to allow ConnectionWrapper to implement java.sql.Connection * and still compile under J2SE 1.3 and J2SE 1.4. When compiled * under J2SE 1.3, this class compiles as a placeholder instead of the * missing java.sql.Savepoint (not in J2SE 1.3). When compiled * under J2SE 1.4, this class is ignored and ConnectionWrapper uses the * java.sql.Savepoint that is new in J2SE 1.4. */ public class Savepoint {}
在J2SE 1.4下,我现在可以正确的输入java.sql.Savepoint。在J2SE 1.3下, Ant 注释输入行,这样我的代码中引用的 Savepoint正好在同一个软件包处于