内部クラスの内部からアクセスできたように、enumの内部から周囲のクラスのインスタンスメンバーにアクセスできないようです。それは列挙が静的であることを意味しますか?周囲のクラスのインスタンスのスコープへのアクセスはありますか、またはインスタンスを必要な列挙型のメソッドに渡す必要がありますか?
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;
}
}
あなたが説明しようとしていることを完全に理解しているとは思いません。たぶん、小さなコードサンプルを提供できますか?
—
ピート