नहीं, हम Java में enum को एक्सटेंड नहीं कर सकते। Java enums java.lang.Enum क्लास को अंतर्निहित रूप से एक्सटेंड करते हैं, इसलिए enum टाइप्स दूसरी क्लास को एक्सटेंड नहीं कर सकते।
सिंटैक्स
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable {
// कुछ स्टेटमेंट्स
}
Enum
- एक Enum टाइप एक विशेष डेटा टाइप है जिसे Java 1.5 संस्करण में जोड़ा गया था।
- एक Enum का उपयोग कॉन्स्टेंट्स के संग्रह को परिभाषित करने के लिए किया जाता है, जब हमें मानों की पूर्वनिर्धारित सूची की आवश्यकता होती है जो किसी प्रकार के न्यूमेरिक या टेक्स्टुअल डेटा को नहीं दर्शाते, तो हम enum का उपयोग कर सकते हैं।
- Enums कॉन्स्टेंट्स हैं और डिफ़ॉल्ट रूप से, वे स्टैटिक और फाइनल हैं। इसलिए enum टाइप फील्ड्स के नाम अपरकेस लेटर्स में होते हैं।
- पब्लिक या प्रोटेक्टेड मॉडिफायर्स केवल टॉप-लेवल enum घोषणा के साथ उपयोग किए जा सकते हैं, लेकिन सभी एक्सेस मॉडिफायर्स नेस्टेड enum घोषणाओं के साथ उपयोग किए जा सकते हैं।
उदाहरण
enum Country {
US {
public String getCurrency() {
return "DOLLAR";
}
},
RUSSIA {
public String getCurrency() {
return "RUBLE";
}
},
INDIA {
public String getCurrency() {
return "RUPEE";
}
};
public abstract String getCurrency();
}
public class ListCurrencyTest {
public static void main(String[] args) {
for (Country country : Country.values()) {
System.out.println(country.getCurrency() + " is the currency of " + country.name());
}
}
}
आउटपुट
DOLLAR is the currency of US RUBLE is the currency of RUSSIA RUPEE is the currency of INDIA
Enum इम्प्लिसिटली java.lang.Enum एक्सटेंड करता है, इसलिए मल्टीपल इनहेरिटेंस के कारण दूसरी क्लास एक्सटेंड नहीं कर सकता। लेकिन इंटरफेसेस इम्प्लीमेंट कर सकता है।