将Java对象实例替换为另一个和所有引用

时间:2012-08-24 20:47:40

标签: java object

有没有办法用java替换另一个对象,更新对第一个对象的所有引用,而不是指向第二个对象?在C#中,这个问题在这里被回答:Replace object instance with another in C#但我想知道我是否可以用Java做到这一点。谢谢!

编辑:1。我想用一个子类型的对象替换第一个对象。 2.我无法编辑第一个对象的实现,这就是我用子类型替换它的原因。我可以编辑子类型。

2 个答案:

答案 0 :(得分:6)

即使可以,也不要这样做。而是使用另一个类来包含或包装要替换的对象。容器必须通过调用原始方法来实现原始所需的所有方法,但您可以随时轻松替换包装类。包装器,原始类和替换它的应该都实现相同的接口。这个解决方案有点工作,但随着时间的推移会持续下去。

我怀疑你真正想要的是一个拥有许多可升级组件部分的课程,但这对初学者来说很有用,并让你思考正确的方法。

答案 1 :(得分:1)

如果您的意图是使用子类型替换特定类型的所有实例,则可以考虑使用java agents

使用此方法,您将在类加载期间使用增强类替换基类。