Это потому, что пространство в пути к каталогу.
Да, вложенные перечисления неявно статичны.
От раздел спецификации языка 8.9 :
Вложенные перечислимые типы неявно статичны. Допустимо явно объявить, что вложенный перечислимый тип статичен.
Не имело бы смысла делать уровень экземпляра (нестатическим) внутренним классом Enum - если бы перечислимые экземпляры были самостоятельно связаны с внешним классом, то они повредили бы перечислимую гарантию -
, например, если бы Вы имели
public class Foo {
private enum Bar {
A, B, C;
}
}
Для значений перечисления для надлежащего действия как константы, (psuedocode, игнорируя ограничения доступа)
Bar b1 = new Foo().A
Bar b2 = new Foo().A
, то b1 и b2 должны были бы быть теми же объектами.