java - 在运行时扩展类

标签 java reflection runtime extend

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

最佳答案

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/

相关文章:

java - 在java中读取MNIST数据库非常慢

java - Moxy 无法将 List<String> 编码为 JSON

scala - 在 scala 2.11 中反射(reflect)案例类字段的最佳方式?

android - 图像作为按钮背景-崩溃和工作

generics - 如何在 Kotlin 中获取具体泛型参数的实际类型参数?

泛型类的 Java 工厂

c - 运行 SDL 程序

java - Android 在调用 FragmentTransaction Replace 方法时崩溃?

java - 是否可以为同一框架内的不同面板设置不同的外观?

java - 将巨大的模式编译成 Java