Parece que não consigo acessar membros de instância da classe circundante de dentro de uma enumeração, como eu poderia de dentro de uma classe interna. Isso significa que as enumerações são estáticas? Existe algum acesso ao escopo da instância da classe circundante ou preciso passar a instância para o método da enumeração em que eu preciso?
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;
}
}