ดูเหมือนว่าฉันจะไม่สามารถเข้าถึงสมาชิกอินสแตนซ์ของคลาสโดยรอบจากภายใน enum ได้อย่างที่ฉันทำได้จากภายในคลาสภายใน หมายความว่า enums คงที่หรือไม่? มีการเข้าถึงขอบเขตของอินสแตนซ์ของคลาสโดยรอบหรือไม่หรือฉันต้องส่งอินสแตนซ์ไปยังเมธอดของ 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;
}
}
ฉันไม่แน่ใจว่าฉันเข้าใจสิ่งที่คุณพยายามอธิบายทั้งหมด คุณสามารถให้ตัวอย่างโค้ดเล็ก ๆ ได้หรือไม่?
—
พีท