हूजाह!जावा एनम स्टेटिक फाइनल इंस्टेंस वैरिएबल
यह कोड एक समय के लिए काम करता था, फिर मैंने एक डिफ़ॉल्ट रंग जोड़ने का फैसला किया, और यह काम करना बंद कर दिया। मुझे निम्न त्रुटि मिलती है:
1 error found:
File: Status.java [line: 20]
Error: Status.java:20: illegal reference to static field from initializer
संकलित समय पर निम्न कोड के साथ।
import java.awt.Color;
enum Status
{
OFF ("Off"),
TRAINING ("Training", new Color(255, 191, 128)),
BEGINNER ("Beginner", new Color(128, 255, 138)),
INTERMEDIATE ("Intermediate", new Color(128, 212, 255)),
ADVANCED ("Advanced", new Color(255, 128, 128));
public final String name;
public final Color color;
public static final Color defaultColor = Color.WHITE;
Status(String name)
{
this(name, defaultColor);
}
Status(String name, Color color)
{
this.name = name;
this.color = color;
}
}
यह काम करना चाहिए, जहां तक मैं कह सकता हूं, लेकिन किसी भी कारण से जावा ने एक त्रुटि फेंकने का फैसला किया। कोई विचार?
क्या 'डिफ़ॉल्ट रंग' फ़ील्ड रखने का कोई कारण है? क्या आपका शेष कोड अभी भी 'Status.color' को नहीं देख सकता है? –