Ich kann scheinbar nicht von einer Enumeration aus auf Instanzmitglieder der umgebenden Klasse zugreifen, wie ich es von einer inneren Klasse aus tun könnte. Bedeutet das, dass Aufzählungen statisch sind? Gibt es einen Zugriff auf den Bereich der Instanz der umgebenden Klasse oder muss ich die Instanz an die Methode der Aufzählung übergeben, wo ich sie benötige?
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;
}
}