ссылка на перечисление в регистре переключателя

enum Color {RED, GREEN, BLUE};
class SwitchEnum
{
  public static void main(String[] args)
  {
    Color c = Color.GREEN;
    switch(c)
    {
      case RED:
        System.out.println("red");
        break;
      case GREEN:
        System.out.println("green");
        break;
      case BLUE:
        System.out.println("blue");
        break;
    }
  }
}

Приведенный выше код прекрасно компилируется и дает ожидаемый результат.

Мой вопрос заключается в том, почему при создании ссылки на цвет 'c' нам нужно было ссылаться на нее через имя перечисления (т.е. Color.GREEN), но в случае блокировки достаточно только значения перечисления. Разве это не должно было быть

case Color.RED:

и т.д???

7
задан Surender Thakran 8 June 2012 в 06:36
поделиться