如何通过Reflection扩展Java类?
我有两个字符串:
String a="org.test.A"; String b="org.test.B";
我通过Reflection得到了一堂课
Class aClass = Class.forName(a);
我想aClass扩展b,如:
Class okClass=aClass.extends(b);//how to implement this?
怎么实现这个?
如何获得okClass?
谢谢!
除了使用仅由接口工作的JDK动态代理之外,您还可以使用CGLIB或javassist在运行时扩展类。
一般来说,您希望能够在运行时创建新类(而不是对象)。 您可以使用字节码工程或java编译器API 。
您可以从阅读动态代理开始 。 代理不扩展类,但它们实现了可以通过调用处理程序在类实现上映射的接口。
如前所述,我建议查看CGLIB,但也有javassist ,它是一个用于编辑字节码的类库…