Java:在运行时扩展类
我有能力在编译时扩展一个类,但我需要能够在运行时使用已经实例化的超类的实例创建这个子类的实例。
这在理论上应该是可能的,因为超类构造函数已经在子类构造函数之前调用了。
我没有足够的访问权限来访问程序,无法将实例化更改为我的子类,也无法中断原始实例化。
用例:存在一个类 X 的实例数组。我的代码在之后加载。我需要用加载的子类 Y 扩展 X 覆盖其中一个实例 X 的方法之一。父程序仅通过该数组访问对象,因此我想将该数组元素替换为我的 Y 实例,但它的行为需要像最初实例化到该数组中一样。我不能只包含超类实例并转发调用,并且重新确认超类存在困难的复杂性。
我希望这一点更加明确。