我有一个ClassA
正在项目的各个领域使用我的许多组件和库。
现在我需要为这个类添加一个额外的成员,但由于其他区域不需要/使用它,所以它不适合extend
这个类。
如果我将成员添加到ClassA
而不是extending
我会有任何问题吗?一切都需要重建吗?
问问题
94 次
3 回答
5
添加新成员可保留二进制兼容性,另请参见第 13 章。Java 语言规范的二进制兼容性。
显然,您需要重建修改后的类,而不是使用修改后的类。
于 2012-10-11T08:39:12.653 回答
1
除非您现有的 ClassA 和其他班级之间的联系和互动 BREAK,否则应该没有问题。但是,如果您更改其他类使用的方法的签名,则在定位旧版本的方法时可能会出现运行时错误,因为它不再存在。
于 2012-10-11T08:35:10.450 回答
-1
如果您更改 A 级,显然需要进行重建。为了尽量减少影响,您可以扩展 A 类并将子类用于您的工作。其他组件和库将继续使用您的 A 类,而您的代码现在应该引用具有添加成员的子类。
同样,这取决于您如何定义对象。
于 2012-10-11T08:37:24.003 回答