在类中声明的枚举类型是否隐式静态?

时间:2011-01-28 10:46:49

标签: java enums

class Coffee{   
   enum CoffeeSize{BIG,HUGE,OVERWHELMING}   
   CoffeeSize size;   
  }   

class CoffeeTest{   
   public static void main(String[] args)   
  {   
       Coffee drink=new Coffee();   
       drink.size=Coffee.CoffeeSize.BIG;   
   }   
} 

Coffee.CoffeeSize.BIG:我只能使用类名CoffeeSize获取Coffee。当我认为枚举类型是隐式静态时,我是否正确?

1 个答案:

答案 0 :(得分:19)

是的,确实如此。语言规范甚至这样说。来自JLS section 8.9 (enums)

  

嵌套枚举类型是隐式静态的。允许将嵌套的枚举类型显式声明为静态是允许的。