【发布时间】: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 不满意。请不要这样做。