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