如何通过反射扩展Java类?

7

我有两个字符串:

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

我通过反射获取一个类

Class aClass = Class.forName(a);

我希望创建一个类继承自b,示例如下:

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

如何实现这个功能?

如何获取okClass?

谢谢!


4
A和B类别已经在其他地方定义了吗?您期望okClass具有什么属性?这个问题本身是没有意义的。 - Michael Borgwardt
4个回答

8
除了使用仅适用于接口的JDK动态代理,您还可以在运行时使用CGLIB或javassist来扩展类。

4

这些链接已经失效了,你能否更新一下它们? - vincenzopalazzo

3
您可以先了解一下动态代理。代理不会继承类,但是它们可以实现接口,并通过调用处理程序将其映射到您的类实现上。请参考动态代理相关资料。

0

如前所述,我建议看一下CGLIB,但也有javassist这个类库可用于编辑字节码...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接