3

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

4

2 回答 2

5

您可以在类加载期间使用字节码操作来执行此操作

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

拥有一个在编译时未知的新字段也没有太大帮助,因为您无法针对它编译任何内容。如果您打算使用反射来访问它,那么您不妨首先使用 Map。

于 2013-03-14T23:38:19.940 回答
0

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

您可以使用装饰器模式。您可以将要添加静态字段的对象传递到包装器对象中。该包装器将具有静态字段,并且对包装器对象的调用将与被包装对象相关。

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

于 2013-03-14T23:51:50.940 回答