2011-05-31 107 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; 
}