2014-04-20 145 views
0

無論如何要從枚舉中調用方法嗎?例如:來自枚舉的調用方法

+2

你到底想幹什麼? –

+0

哦,你想傳遞給構造函數一個方法(?)並調用它? –

+0

@MarcoAcierno是的,這就是我想要做的。 – user3344572

回答

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 
}