我需要在这里重建Java吗?

时间:2012-10-11 08:31:06

标签: java oop build

我有ClassA在项目的各个方面使用了我的许多组件和库 现在我需要在这个类中添加一个额外的成员,但由于它不需要/被其他区域使用,因此对extend类来说感觉不合适。
如果我将该成员添加到ClassA而不是extending,我会遇到任何问题吗?一切都需要重建吗?

3 个答案:

答案 0 :(得分:5)

添加新成员可保留二进制兼容性,另请参阅Java语言规范的Chapter 13. Binary Compatibility

显然你需要重建修改后的类,而不是使用修改过的类的类。

答案 1 :(得分:1)

除非您现有的联系人和ClassA与其他类之间的互动BREAK,否则应该没有问题。但是,如果您更改其他类使用的方法的签名,则在查找旧版本的方法时可能会遇到运行时错误,因为它不再存在。

答案 2 :(得分:-1)

如果您更改了A类,显然需要重建。为了最大限度地减少影响,您可以扩展A类并使用子类进行工作。其他组件和库将继续使用您的A类,而您的代码现在应该引用具有添加成员的sublcass。

同样,这取决于您如何定义对象。