Java में Enum
enum से नामों का एक स्थिर सेट सूचीबद्ध करिए ताकि प्रोग्राम केवल उसी सूची से चुने। LOW, MEDIUM और HIGH वाला enum Level लिखिए। Yard.java में Level mark = Level.MEDIUM; असाइन कर mark छापिए। javac Yard.java से कंपाइल कर java Yard चलाइए। स्क्रीन को MEDIUM दिखाना चाहिए। दूसरी डेमो उसी mark पर switch चलाती है और medium छापती है। abstract क्लास अगले पृष्ठ के लिए छोड़ दें — यह पाठ स्थिर नामों की छोटी सूची और उनमें से एक को छापने या शाखा लगाने का तरीका है।
एक enum नाम छापिए
इंटरफेस पृष्ठ ने खाली विधि वादों को implements से भरा। यह पृष्ठ उसके बजाय स्थिरांक सूचीबद्ध करता है। Yard.java खोलिए। पब्लिक क्लास नाम Yard रखिए। अगर enum कहानी दबाएँ तो बचे Signal / implements डेमो, Truck वाले horn फ़ाइलें, पथ डेमो, और कीबोर्ड Scanner हटा दीजिए। प्रोग्राम टाइपिंग का इंतज़ार न करे। import लाइन की ज़रूरत नहीं।
पब्लिक क्लास के ऊपर enum घोषित करिए:
enum Level {
LOW,
MEDIUM,
HIGH
}
नामों को अल्पविराम से अलग करिए। इस शुरुआती रूप में उन्हें बड़े अक्षरों में रखिए। इस शिक्षण फ़ाइल के लिए अंतिम नाम को अंतिम अल्पविराम की ज़रूरत नहीं।
Yard.main के अंदर एक नाम चुनिए और छापिए:
Level mark = Level.MEDIUM;
System.out.println(mark);
आप new Level() नहीं लिखते। प्रकार का नाम, एक बिंदु, और स्थिरांक लिखते हैं: Level.MEDIUM।
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Yard {
public static void main(String[] args) {
Level mark = Level.MEDIUM;
System.out.println(mark);
}
}
जिस फ़ोल्डर में Yard.java है वहाँ से javac Yard.java चलाइए। जब कोष्ठक, ब्रेसेस और सेमीकोलन मेल खाएँ, javac अपनी कोई पंक्ति नहीं लिखता। फिर java Yard चलाइए — java Yard.java नहीं। रन कमांड से .java अंत हटा दीजिए। फ़ाइल में एक पब्लिक क्लास रखिए ताकि नाम Yard से मेल खाए। enum Level इस शुरुआती रूप में public के बिना रहता है जब वह उसी फ़ाइल में Yard के साथ बैठा हो।
स्क्रीन MEDIUM दिखाती है। रन को एक बार चलिए। Java Yard.main से शुरू होता है। चर mark स्थिरांक Level.MEDIUM रखता है। mark छापना उस स्थिरांक का नाम लिखता है। अन्य नाम LOW और HIGH प्रकार पर उपलब्ध रहते हैं, पर यह डेमो केवल वही छापती है जो आपने असाइन किया।
असाइनमेंट पंक्ति एक बार और पढ़िए: प्रकार Level है, मान Level.MEDIUM है। दोनों पक्ष एक ही enum के हैं। आप मुक्त पाठ स्ट्रिंग नहीं बना रहे; सूचीबद्ध नाम चुन रहे हैं। बाद में निजी प्रयोग में mark को LOW या HIGH बदलते समय वही आदत रखिए — केवल enum सूची के नाम वैध हैं।
अगर अभी भी इंटरफेस फ़ाइल से honk दिखे, enum शिक्षण फ़ाइल पर जाएँ और फिर java Yard चलाइए। अगर javac गायब स्थिरांक की शिकायत करे, MEDIUM की वर्तनी और बड़े अक्षर रूप जाँचिए। अगर आप कॉल साइट पर चौथा नाम बिना enum में सूचीबद्ध किए गढ़ें, javac मना करता है — enum की सूची ही अनुमति सेट है।
स्क्रीन देखते हुए नियम ज़ोर से कहिए: enum नाम सूचीबद्ध करता है, कोड बिंदु से एक चुनता है, प्रिंट वही नाम दिखाता है। इस पृष्ठ पर abstract क्लास न गढ़ें। abstract क्लास अगले पाठ की प्रतीक्षा करती हैं।
switch से enum पर शाखा लगाइए
दूसरा प्रोग्राम वही Level सूची रखता है। main अभी भी Level.MEDIUM असाइन करता है। mark पर switch चुने गए केस के लिए छोटा अक्षर शब्द छापता है।
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Yard {
public static void main(String[] args) {
Level mark = Level.MEDIUM;
switch (mark) {
case LOW:
System.out.println("low");
break;
case MEDIUM:
System.out.println("medium");
break;
case HIGH:
System.out.println("high");
break;
}
}
}
javac Yard.java से कंपाइल करिए, फिर java Yard चलाइए। स्क्रीन medium दिखाती है। switch ने MEDIUM केस में प्रवेश किया क्योंकि mark में Level.MEDIUM था। break उस केस को रोकता है ताकि बाद के केस न चलें। बाद के प्रयोग में अगर low या high देखना हो तो केवल असाइन किया स्थिरांक बदलिए — enum सूची वही रखिए।
हर case के अंदर नंगा स्थिरांक नाम लिखिए: case MEDIUM:, न कि case Level.MEDIUM:। switch पहले से प्रकार switch (mark) से जानता है। इस शुरुआती रूप में हर प्रिंट के बाद break रखिए ताकि शिक्षण आउटपुट एक स्पष्ट पंक्ति रहे। तीन केस आँखों से एक बार देखिए: LOW से low, MEDIUM से medium, HIGH से high। एक असाइनमेंट पर उनमें से केवल एक प्रिंट चलता है।
अगर बचे इंटरफेस डेमो पास हों, इतिहास की तरह रखिए। इस पाठ के लिए enum शिक्षण फ़ाइल चलाइए ताकि स्क्रीन MEDIUM या medium दिखाए, honk नहीं। अगर javac डुप्लिकेट पब्लिक प्रकार की शिकायत करे, फ़ाइल में अभी भी एक से अधिक public प्रकार हैं — केवल Yard को public रखिए।
तीन Level नाम
📊 Level enum names
| Name | Role on this page |
|---|---|
LOW |
listed constant; switch can print low |
MEDIUM |
assigned and printed in both demos |
HIGH |
listed constant; switch can print high |
तालिका इस पृष्ठ का छोटा नक्शा है। enum तीनों नाम रखता है। पहली डेमो बीच का नाम MEDIUM के रूप में छापती है। दूसरी डेमो उसी चुनाव को छोटे अक्षर शब्द medium पर मैप करती है। सूची छोटी और स्थिर रखिए; इस पृष्ठ पर mark को मुक्त टाइप किया String न समझिए। |
इंटरफेस से तुलना
इंटरफेस पृष्ठ पर Signal ने खाली विधियाँ वादा कीं और Truck implements Signal ने उन्हें भरा। इस पृष्ठ पर enum Level नाम सूचीबद्ध करता है और Yard एक चुनता है। आप अभी भी Yard.java कंपाइल करते हैं और java Yard चलाते हैं। नए टोकन हैं enum, बड़े अक्षर स्थिरांक सूची, Level.MEDIUM, और — दूसरी डेमो में — उन नामों पर switch केस।
अगर बचा implements Signal फ़ाइल अभी खुला है, विधि बॉडी और honk दिखेंगे। enum फ़ाइल पर जाएँ ताकि ऊपर enum Level दिखे और main एक स्थिरांक असाइन करे। abstract-क्लास डेमो इस पृष्ठ से बाहर रखिए। कीबोर्ड इनपुट इस पृष्ठ से बाहर रखिए।
abstract क्लास से पहले
आप LOW, MEDIUM और HIGH वाला enum Level घोषित कर सकते हैं, Level.MEDIUM असाइन कर सकते हैं, और स्क्रीन पर MEDIUM देख सकते हैं। उस mark पर switch लगाकर medium देख सकते हैं। हर रखी डेमो के लिए बारी-बारी Yard.java कंपाइल कर java Yard चलाइए। प्रोग्राम ने स्थिर सूची से चुना। अगला पृष्ठ abstract क्लास है, जहाँ पैरेंट प्रकार विधि को पूरी बॉडी के बिना छोड़ सकता है ताकि चाइल्ड पूरा करें।
स्पष्ट स्थिरांक स्क्रीन के लिए प्रिंट डेमो रखिए। उसी स्थिरांक पर स्पष्ट शाखा के लिए switch डेमो रखिए। abstract फ़ाइलें इस पृष्ठ से बाहर रखिए। ये तीन आदतें आगे बढ़ने से पहले चेकपॉइंट हैं। जब सीधे प्रिंट से MEDIUM आए — और जब switch से medium आए — तो enum ने इस पाठ का काम किया और आप abstract क्लास वाले अगले विषय के लिए तैयार हैं।
फ़ोल्डर का आखिरी चक्कर: एक पब्लिक Yard, तीन नाम वाला एक enum Level, कीबोर्ड इंतज़ार नहीं, जबरदस्ती abstract क्लास नहीं। खुली डेमो पर फिर एक बार javac Yard.java और java Yard चलाइए। अगर स्क्रीन अभी भी तालिका की बीच पंक्ति की कहानी से मेल खाती है, enum सूची मज़बूत है और कोर्स अगले पृष्ठ पर abstract क्लास पर जा सकता है।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी