2011-05-31 108 views
5

是否有對每個枚舉常量創建的任何對象ARROGANT,RASCAL,IDIOT?Java枚舉類型實例

public enum Manager { 
    ARROGANT, 
    RASCAL, 
    IDIOT 
} 

,如果下面的代碼不一樣的上面,明確不過,

public enum Manager { 
    ARROGANT(), 
    RASCAL(), 
    IDIOT(); 

    Manager() {} 
} 
+0

注意:您不需要第二個代碼中的構造函數。 – 2011-05-31 12:05:29

回答

6

對,就是這樣一個實例將每個枚舉常量創建。

是的,第二個示例代碼實際上是相同的。

4

是的,兩者都應該導致相同的字節碼,第一個只是語法糖。

如果您必須將值與枚舉關聯,則第二種方法非常有用。

enum Numbers{ 
    ONE(1),TWO(2),THREE(3),TEN(10); 
    Numbers(int i){ 
     value = i; 
    } 
    public final int value; 
}