动态创建字段java

时间:2013-03-14 23:36:37

标签: java dynamic reflection

我想知道他们是否可以使用反射或相关API在运行时动态创建类的静态字段。如果需要,我可以使用java本机接口来完成此任务,如果有人可以告诉我适当的步骤。我不想使用任何数据结构,例如哈希映射,因为我完全是为了好玩。请不要建议使用地图,因为我没有将它用于任何真实的程序,这是一个完全理论上的情况。感谢。

2 个答案:

答案 0 :(得分:5)

您可以在课程加载时using bytecode manipulation期间执行此操作。

这是一个非常复杂的解决方案,所以我会考虑其他选择。

拥有一个在编译时不知道的新字段也没有多大帮助,因为你无法针对它编译任何东西。如果您打算使用反射来访问它,那么您最好先使用Map。

答案 1 :(得分:0)

Java不支持元编程或运行时编程,其方式特别好或有效。

您可以使用装饰器模式。您可以将要添加静态字段的对象传递给包装器对象。这个包装器将具有静态字段,对包装器对象的调用将与包装对象相关。

如果您可以提供有关您正在寻找的功能的更多详细信息,我可以尝试提供更好的解决方案。如果您绝对需要以这种方式完成它,那么您可能最好不要选择支持运行时编程的另一种语言。