Wydaje się, że nie mogę uzyskać dostępu do członków instancji z otaczającej klasy z wnętrza wyliczenia, tak jak w przypadku wewnętrznej klasy. Czy to oznacza, że wyliczenia są statyczne? Czy istnieje dostęp do zakresu wystąpienia otaczającej klasy, czy też muszę przekazać wystąpienie do metody wyliczenia, gdzie jest to potrzebne?
public class Universe {
public final int theAnswer;
public enum Planet {
// ...
EARTH(...);
// ...
// ... constructor etc.
public int deepThought() {
// -> "No enclosing instance of type 'Universe' is accessible in this scope"
return Universe.this.theAnswer;
}
}
public Universe(int locallyUniversalAnswer) {
this.theAnswer = locallyUniversalAnswer;
}
}