В Java действительно ли перечислимые типы внутри являются статичным классом?

Это потому, что пространство в пути к каталогу.

118
задан Hanno Fietz 19 March 2009 в 20:18
поделиться

2 ответа

Да, вложенные перечисления неявно статичны.

От раздел спецификации языка 8.9 :

Вложенные перечислимые типы неявно статичны. Допустимо явно объявить, что вложенный перечислимый тип статичен.

171
ответ дан Jon Skeet 5 November 2019 в 08:39
поделиться

Не имело бы смысла делать уровень экземпляра (нестатическим) внутренним классом Enum - если бы перечислимые экземпляры были самостоятельно связаны с внешним классом, то они повредили бы перечислимую гарантию -

, например, если бы Вы имели

public class Foo {
   private enum Bar {
        A, B, C;
   } 
}

Для значений перечисления для надлежащего действия как константы, (psuedocode, игнорируя ограничения доступа)

Bar b1 = new Foo().A
Bar b2 = new Foo().A

, то b1 и b2 должны были бы быть теми же объектами.

45
ответ дан Steve B. 5 November 2019 в 08:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: