2009-12-11 13 views
5

Ich habe zwei Saiten:Wie erweitere ich Java-Klassen um Reflection?

String a="org.test.A"; 
String b="org.test.B"; 

ich eine Klasse von Reflection

Class aClass = Class.forName(a); 

Ich möchte aClass b erstreckt, wie:

Class okClass=aClass.extends(b);//how to implement this? 

, wie dies zu implementieren?

Wie bekomme ich okClass?

danke!

+4

Sind die Klassen A und B bereits an anderer Stelle definiert? Welche Eigenschaften erwarten Sie genau, okClass zu haben? Die Frage ergibt keinen Sinn. –

Antwort

8

Neben der Verwendung einer JDK dynamic proxy, die nur über die Schnittstelle funktioniert, können Sie CGLIB oder javassist zum Erweitern von Klassen zur Laufzeit verwenden.

3

Sie könnten beginnen, indem Sie auf dynamic proxies lesen. Proxys erweitern keine Klassen, aber sie implementieren Schnittstellen, die Sie über den Aufrufhandler Ihrer Klassenimplementierung zuordnen können.

0

Wie gesagt, bevor ich bei CGLIB aber es gibt auch javassist, die eine Klassenbibliothek für die Bearbeitung von Bytecode ist aussehen würde empfehlen ...

Verwandte Themen