Рассмотрим enum Animals { DOG, FISH, GOAT };
в Java.
Теперь переменная типа Animals
может указывать на объекты-члены этого типа:
Animals a1 = Animals.DOG;
, что отлично.
Но как имеют смысл следующие ссылки на цепочку?
Animals a2 = a1.DOG.FISH.GOAT;
(да, выглядит сумасшедшим, видел это в сложном вопросе Java)
что на самом деле указывает a1
? и как мы ссылаемся на другие члены enum
от него?
Пример:
public class EnumTest {
enum Animals { DOG, FISH, GOAT };
public void test(){
Animals a1 = Animals.DOG;
Animals a2 = a1.DOG.FISH.GOAT; //--Strange but valid--
}
}