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用具有所需逻辑的有用方法拦截器替换回调。