public interface Proposal {
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}
जावा एक इंटरफ़ेस के अंदर final
होने की अनुमति नहीं देता है, लेकिन डिफ़ॉल्ट रूप से एक इंटरफ़ेस के अंदर प्रत्येक डेटा सदस्य public static final
है। क्या कोई इसे स्पष्ट कर सकता है?जावा एनम अंतिम क्यों नहीं हो सकता है?
क्या आपको लगता है कि "गैर अंतिम" enum किसी भी तरह subclassable है? –
नहीं, मुझे पता था कि enum subclass नहीं हो सकता है, लेकिन जावा हमें इंटरफ़ेस में किसी भी स्थिरता से अंतिम लिखने की स्वतंत्रता देता है लेकिन enum के सामने नहीं, यह आंशिक रूप से यही है कि मैं क्या पूछ रहा था (बस पढ़ने के दौरान उनके दिमाग में क्या है यह?) –
वर्ग/इंटरफ़ेस (और, सिद्धांत रूप में, enum) परिभाषाओं और सदस्य * फ़ील्ड * परिभाषाओं (जो "स्थिरांक" आमतौर पर एक इंटरफ़ेस में होते हैं) के बीच 'अंतिम' का उपयोग करने के बीच एक बड़ा अंतर होता है। एक subclassability को प्रभावित करता है, और दूसरा परिवर्तनशीलता को प्रभावित करता है। –