所以对于这个项目,我试图在运行时扩展一个类。 我想知道的是,这甚至可能吗?如果是这样,我该怎么做?这些东西有图书馆吗?
最佳答案
CGLib是您正在寻找的图书馆。它在运行时扩展类或实现接口(interface)方面非常强大,因此许多流行的框架,如 Spring 或 Hibernate 都使用它。
您可以使用如下代码创建类扩展
public Object createProxy(Class targetClass) {
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(targetClass);
enhancer.setCallback(NoOp.INSTANCE);
return enhancer.create();
}
尽管您可能会将 NoOp
回调替换为具有所需逻辑的有用方法拦截器。
关于java - 在运行时扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233923/