Java: Klasse zur Laufzeit erweitern

Ich kann eine Klasse zur Kompilierungszeit erweitern, muss jedoch in der Lage sein, zur Laufzeit eine Instanz dieser Unterklasse mithilfe einer Instanz der Superklasse zu erstellen, die bereits instanziiert wurde.

Dies sollte theoretisch möglich sein, da Superklassenkonstruktoren bereits vor dem Unterklassenkonstruktor aufgerufen werden.

Ich habe nicht genügend Zugriff auf das Programm, um die Instanziierung in meine Unterklasse zu ändern oder die ursprüngliche Instanziierung zu unterbrechen.

Anwendungsfall: Es ist ein Array von Instanzen der Klasse X vorhanden. Mein Code wird nachher geladen. Ich muss eine der Methoden einer der Instanzen X mit meiner geladenen Unterklasse überschreiben. Y erweitert X. Das übergeordnete Programm greift nur über dieses Array auf die Objekte zu, also möchte ich dieses Array-Element durch meine Y-Instanz ersetzen, muss es aber Verhalten Sie sich, als wäre es ursprünglich in diesem Array instanziiert. Ich kann nicht einfach die Superklasse-Instanz einschließen und Aufrufe weiterleiten, und es gibt schwierige Komplikationen bei der Reinstantiierung der Superklasse.

Ich hoffe das ist klarer.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage