【发布时间】:2013-02-02 07:41:28
【问题描述】:
我想创建一个包含静态方法(或包含对静态方法的引用)的数组。我试图创建一个类数组,这些类实现了该方法的接口。使用此方法,我将获取对象,然后在其上调用该方法。这不适用于静态方法。有没有办法在 Java 中做到这一点?
编辑: 这是我目前使用的方法:
interface TableElement{
public Integer lookup(int value);
}
TableElement[] table = new TableElement[]
{
new TableElement() { public Integer lookup(int value) { return 0; } },
new TableElement() { public Integer lookup(int value) { return value * 3; } },
new TableElement() { public Integer lookup(int value) { return value * value + 3; } },
};
public Integer find(int i, int value) {
return table[i].lookup(value);
}
我希望 find 方法是静态的。
【问题讨论】:
-
你能提供你写的代码吗?这将有助于了解您到目前为止所做的尝试。
-
我已经添加了代码,@Chris
-
你为什么要这样做?
-
我正在编写一个程序,它给出了一个地图并保存了一个 .java 文件,该文件是一个完美的静态哈希表,可以编译到其他程序中。如果这在 .java 文件中不是静态的,那就太傻了。
-
如果您正在生成 Java 代码,您似乎可以直接在该代码中调用静态方法。