因此,对于这个项目,我试图在运行时扩展一个类。
我想知道的是,这可能吗?如果是这样,我该怎么办?是否有用于这些目的的库?

最佳答案

CGLib是您要查找的库。它在扩展类或在运行时实现接口(interface)方面非常强大,因此许多流行的框架(如Spring或Hibernate)都使用它。

您可以使用以下代码创建类扩展

 public Object createProxy(Class targetClass) {
    Enhancer enhancer = new Enhancer();
    enhancer.setSuperclass(targetClass);
    enhancer.setCallback(NoOp.INSTANCE);
    return enhancer.create();
   }

尽管您可能会使用具有所需逻辑的有用的方法拦截器替换NoOp回调。

10-05 19:49