在Java中,类中的枚举类型是静态的吗?
我似乎无法从枚举内部访问周围类的实例成员,就像我可以从内部类内部访问的那样。这是否意味着枚举是静态的?是否可以访问周围类实例的作用域,或者我是否必须将实例传递到需要的枚举方法中?
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;
}
}