在运行时扩展类

Pau*_*BGD 5 java reflection runtime extend

所以对于这个项目,我试图在运行时扩展一个类.我想知道的是,这甚至可能吗?如果是这样,我该怎么做?那些东西有没有图书馆?

Jk1*_*Jk1 4

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

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

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

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