从枚举中调用方法

时间:2014-04-20 22:48:34

标签: java

无论如何从枚举中调用方法?例如:

public enum Skills {
     FIRE(callMethod());
}

public void callMethod(){
     //do stuff
}

1 个答案:

答案 0 :(得分:0)

您可以将静态方法或另一个类的方法作为枚举常量的构造函数参数调用,但请注意,与其他类的类相比,枚举的静态字段会在奇怪的时间初始化。

public enum Skills {
    FIRE(callMethod());
    private Skills( Object oIgnored ) {
    }
}

public static Object callMethod(){
     //do stuff
    return null;
}

public enum Skills {
    FIRE;
    private Skills() {
        callMethod();
    }
}

public static void callMethod(){
     //do stuff
}