java中可以将函数存储在数组中吗? 比如说..
public void getMyname(){
// do something here;
}
public void getLastname(){
//do something here;
}
Array arr = {getLastName,getMyname};
就这样?如果是这样,对吗?
最佳答案
在 Java 中,您无法将方法存储在数组中,因为方法不是 Java 中的一流对象。这是一些人更喜欢使用其他语言(例如 Python、Scheme 等)的原因。
解决方法是创建一个包含一个方法的接口(interface),然后创建四个实现该接口(interface)的类 - MoveRight、MoveLeft 等...类。然后,您可以将这些类的实例存储在数组中,并以相同的方式调用它们。
public enum Level1 implements Explorable{
ROOM1 {
public void explore() {
// fight monster
}
}, ROOM2 {
public void explore() {
// solve riddle
}
}, ROOM3 {
public void explore() {
// rescue maiden
}
};
}
public interface Explorable{
public abstract void explore();
}
public static void move(Explorable[] adjacentNodes, int index)
{
adjacentNodes[index].explore();
}
关于java - 方法函数的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912543/