Parece que no puedo acceder a los miembros de instancia de la clase circundante desde dentro de una enumeración, como pude desde dentro de una clase interna. ¿Eso significa que las enumeraciones son estáticas? ¿Hay algún acceso al alcance de la instancia de la clase circundante, o tengo que pasar la instancia al método de la enumeración donde la necesito?
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;
}
}