【问题标题】:how to create a dynamic class at runtime in Java如何在 Java 中在运行时创建动态类
【发布时间】:2011-02-28 03:43:16
【问题描述】:

是否可以在运行时更改现有 Java 文件的某些属性后从现有 Java 文件创建新的 Java 文件?

假设我有一个 java 文件

public class Student {
    private int rollNo;
    private String name;
    // getters and setters
    // constructor
}

如果rollNo 是表格的关键元素,是否可以创建类似的内容?

public class Student {
    private StudentKey key;
    private String name;
    //getters and setters
    //constructor
}

public class StudentKey {
    private int rollNo;
    // getters and setters
    // construcotors
}

请帮忙。谢谢。

【问题讨论】:

  • 提示:回答你的问题?首先以这种方式思考,就像可以在运行时创建一个类。因为每个类都需要加载、编译然后运行。这只能在运行时实现吗?
  • @javauser:您可以在运行时使用 Java Compiler API 执行此操作(请参阅this previous answer)。这不适用于此处(至少不是单独适用),因为 OP 想要修改已编译/加载的类型。但要严格回答你的问题,是有可能的。
  • @javauser:请只制作相关的 cmets。没有谜语,谢谢。除此之外,“eleet speak”,就像你的 “回答你的问题?” 对 SO 不满意。请不要这样做。

标签: java class dynamic


【解决方案1】:

看看javassist

【讨论】:

    猜你喜欢
    • 2010-11-14
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多