Stellen Sie sich vor, ich hätte zwei Klassen A und B, B erweitert A, wie
%Vor%In meinem Fall ist Klasse A jedoch verschlüsselt und kann nur von meinem ClassLoader zur Laufzeit geladen werden (zur Kompilierzeit kann A.class nicht als .class-Datei erkannt werden, da sie verschlüsselt ist). Dies bedeutet, dass Klasse A zur Kompilierungszeit nicht existiert.
Meine Fragen sind:
Sie können eine Dummy-Kopie von A erstellen, die alle Methoden enthält, die Sie überschreiben und nur B kompilieren und implementieren möchten.
Wenn Sie nicht wissen, welche Methoden Sie bis zur Laufzeit außer Kraft setzen möchten, müssen Sie Code mit der Compiler-API generieren. Eine Bibliothek wie die ASM von Objectweb ist jedoch wahrscheinlich einfacher. Ich bevorzuge ASM, weil es leicht Code erzeugen kann, um das zu erzeugen, was Sie von einer Schablone wünschen. Sie müssen nicht den gesamten Code selbst schreiben.
Tags und Links java reflection extends