有没有一种方法可以将java中的一个对象替换为另一个对象,更新对第一个对象的所有引用,从而指向第二个对象?在c语言中,这个问题在这里得到了回答:在c语言中用另一个对象示例替换对象示例,但我想知道我是否可以在java中这样做。谢谢!编辑:1。我想用子类型的对象替换第一个对象。2.我无法编辑第一个对象的实现,这就是为什么我要用子类型替换它。我可以编辑子类型。
xxls0lw81#
如果您的意图是用子类型替换特定类型的所有示例,那么可以考虑使用java代理。使用这个,您可以在类加载期间用增强的类替换基类。
7gs2gvoe2#
别这样,即使你可以。相反,请使用另一个类来包含或 Package 要替换的对象。容器必须通过调用原始中的方法来实现从原始中需要的所有方法,但是您可以随时轻松地替换 Package 的类。 Package 器、原始类和替换它的类都应该实现相同的接口。这个解决办法有点费劲,但会经得起时间的考验。我怀疑您真正想要的是一个具有许多可升级组件的类,但这对于初学者来说是可行的,并且让您以正确的方式思考。
2条答案
按热度按时间xxls0lw81#
如果您的意图是用子类型替换特定类型的所有示例,那么可以考虑使用java代理。
使用这个,您可以在类加载期间用增强的类替换基类。
7gs2gvoe2#
别这样,即使你可以。相反,请使用另一个类来包含或 Package 要替换的对象。容器必须通过调用原始中的方法来实现从原始中需要的所有方法,但是您可以随时轻松地替换 Package 的类。 Package 器、原始类和替换它的类都应该实现相同的接口。这个解决办法有点费劲,但会经得起时间的考验。
我怀疑您真正想要的是一个具有许多可升级组件的类,但这对于初学者来说是可行的,并且让您以正确的方式思考。