Non riesco ad accedere ai membri dell'istanza della classe circostante dall'interno di un enum, come potrei dall'interno di una classe interna. Significa che le enumerazioni sono statiche? Esiste un accesso all'ambito dell'istanza della classe circostante o devo passare l'istanza nel metodo enum dove ne ho bisogno?
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;
}
}