Tôi dường như không thể truy cập các thành viên cá thể của lớp xung quanh từ bên trong một enum, như tôi có thể từ bên trong một lớp bên trong. Điều đó có nghĩa là enums là tĩnh? Có bất kỳ quyền truy cập nào vào phạm vi của cá thể của lớp xung quanh hay tôi phải chuyển cá thể đó vào phương thức của enum nơi tôi cần nó?
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;
}
}