जावा में बेनामी कक्षा कैसे लागू करें



यह ब्लॉग आपको उदाहरणों के साथ जावा में बेनामी क्लास का एक विस्तृत और व्यापक ज्ञान प्रदान करेगा और एक नियमित कक्षा से यह कैसे मुश्किल होता है।

बेनामी कक्षाएं आपको छोटे कोड लिखने देती हैं और आपको एक ही समय में क्लास घोषित और इंस्टेंट करने देती हैं। इन वर्गों के नाम नहीं हैं, इसका उपयोग तब किया जाता है जब आप किसी भी वर्ग को केवल एक बार उपयोग करना चाहते हैं। यह जावा प्रोग्रामिंग का एक महत्वपूर्ण पहलू है। आइए निम्नलिखित क्रम में जावा में बेनामी कक्षा क्या है:

अनाम वर्गों की घोषणा





आम तौर पर हम एक वर्ग बनाते हैं यानी हम वर्ग की घोषणा करते हैं लेकिन, अनाम वर्ग अभिव्यक्तियाँ हैं जिसका अर्थ है कि हम अनाम वर्ग को दूसरे में परिभाषित करते हैं अभिव्यक्ति । सरल शब्दों में, अनाम आंतरिक वर्ग नाम के बिना एक वर्ग है और केवल एक वस्तु बनाई जाती है।

Anonymous-Class-In-Java



अनाम वर्ग तब उपयोगी होता है जब हमें कक्षा का उप-वर्ग बनाए बिना किसी वर्ग या इंटरफ़ेस के ओवरलोडिंग तरीकों से ऑब्जेक्ट का एक उदाहरण बनाना होता है।

बेनामी दो तरीकों से बनाया जा सकता है:

  • कक्षा (सार भी हो सकती है)
  • इंटरफेस

अनाम वर्ग में हम निम्नलिखित की घोषणा कर सकते हैं:



  • खेत
  • अतिरिक्त तरीके
  • उदाहरण शुरुआती
  • स्थानीय कक्षाएं

जावा में बेनामी कक्षा का सिंटैक्स

अनाम वर्ग का सिंटैक्स केवल कंस्ट्रक्टर की तरह है सिवाय इसके कि ब्लॉक में एक वर्ग परिभाषा है जैसा कि नीचे दिए गए स्निपेट में दिखाया गया है:

// AnonymousClass = इंटरफ़ेस, सार / ठोस वर्ग। AnonymClass t = new AnonymousClass () {// विधियाँ और फ़ील्ड सार्वजनिक शून्य someMethod () {// कोड}}}

आइए निम्नलिखित उदाहरण पर एक नज़र डालें:

निम्न उदाहरण,नमस्तेअनामलक्लास, स्थानीय चर के आरंभिक विवरणों में अनाम कक्षाओं का उपयोग करता हैकिसी का अभिवादन करोलेकिन, चर के आरंभ के लिए एक स्थानीय वर्ग का उपयोग करता हैनमस्कार:

सार्वजनिक वर्ग HelloAnonymousClass {इंटरफ़ेस HelloWorld {सार्वजनिक शून्य sayHello () सार्वजनिक शून्य SayHelloTo (किसी को स्ट्रिंग)} सार्वजनिक शून्य SayHello () {वर्ग GreetWorld लागू करता है HelloWorld (स्ट्रिंग नाम = 'दुनिया' सार्वजनिक शून्य SayHello () {sayHelloTo ('विश्व')) public void sayHelloTo (किसी को स्ट्रिंग) {नाम = किसी को System.out.println ('हैलो' + नाम)}} HelloWorld अभिवादन = नया GreetWorld () HelloWorld अभिवादन = नमस्ते HelloWorld () {स्ट्रिंग नाम = 'जॉन' सार्वजनिक शून्य SayHello () ) {sayHelloTo ('जॉन')} public void sayHelloTo (किसी को स्ट्रिंग) {name = कोई System.out.println ('होला' + नाम)}} नमस्कारWorld.sayHello () (अभिवादनSomeone.sayHelloTo ('Doe')}} पब्लिक स्टेटिक शून्य मुख्य (स्ट्रिंग ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}

जैसा कि हमने देखा है कि अनाम वर्ग एक अभिव्यक्ति है, सिंटैक्स केवल कंस्ट्रक्टर की तरह है, सिवाय इसके कि ब्लॉक में एक वर्ग परिभाषा है। अभिवादन वस्तु की तात्कालिकता पर विचार करें:

HelloWorld अभिवादन = नया HelloWorld () {स्ट्रिंग नाम = public jon ’public void sayHello () {sayHelloTo ('जॉन’)} public void sayHelloTo (किसी को स्ट्रिंग करें) का नाम = किसी को System.out.println (hol hola ’+ name) }}

अनाम वर्ग निम्नलिखित से बना है:

  • नया ऑपरेटर।
  • यह एक इंटरफ़ेस लागू कर सकता है या एक वर्ग का विस्तार कर सकता है। जैसा कि ऊपर उदाहरण में, यह इंटरफ़ेस को लागू कर रहा है।
  • इसमें कंस्ट्रक्टर को तर्क देने के लिए सामान्य कक्षाओं की तरह ही कोष्ठक होते हैं।
  • इसमें शरीर होता है जिसमें विधि घोषणाएं होती हैं। घोषणाओं की अनुमति नहीं है।

अनाम वर्ग को बयानों का हिस्सा होना चाहिए।

जावा का उपयोग करके सेलेनियम वेबड्राइवर में स्क्रीनशॉट कैसे लें

उपर्युक्त उदाहरण में, अनाम वर्ग की अभिव्यक्ति उस कथन का हिस्सा है जिसके द्वारा पहल की गई हैकिसी का अभिवादन करो

जावा में बेनामी क्लास बनाने के तरीके

जावा में इनर क्लास बनाने के 3 तरीके हैं

  • कक्षा का विस्तार करके

हम अन्य वर्ग का विस्तार करके एक अनाम आंतरिक वर्ग बना सकते हैं, मान लें कि हमें थ्रेड वर्ग का उपयोग करके एक धागा बनाना है हम एक अलग वर्ग बनाने के बजाय एक अनाम आंतरिक वर्ग बना सकते हैं।

// अन्य कक्षा वर्ग AnonymousThreadClass {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// अनाम आंतरिक वर्ग का विस्तार करके अनाम आंतरिक वर्ग को चित्रित करने का कार्यक्रम {// अनाम भीतरी वर्ग जो थ्रेड वर्ग थ्रेड t = नया थ्रेड () {सार्वजनिक शून्य रन () {सिस्टम को बढ़ाता है .out.println ('बाल!')} t.start () System.out.println ('जनक!')}

आउटपुट:

जनक!

बच्चा!

  • इंटरफ़ेस लागू करके

हम इंटरफ़ेस को लागू करके एक अनाम आंतरिक वर्ग भी बना सकते हैं। अब, जैसा कि हमने कक्षा का विस्तार करके एक आंतरिक वर्ग बनाया है उसी तरह हम एक ऐसा वर्ग बना सकते हैं जो एक इंटरफ़ेस लागू करता है।

जावा के लिए ग्रहण की स्थापना
// इंटरफ़ेस वर्ग AnonymousThreadClass {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// अनाम आंतरिक वर्ग को लागू करके अनाम आंतरिक वर्ग को चित्रित करने का कार्यक्रम {// अनाम आंतरिक वर्ग जो इंटरफ़ेस को चलाता है rnable r = new Runnable () / public void run () {System.out .println ('चाइल्ड!')} थ्रेड टी = नया थ्रेड (r) t.start () System.out.println ('पैरेंट!')}}

आउटपुट:

जनक!

बच्चा!

  • मेथड / कंस्ट्रक्टर के तर्क के रूप में

वाक्य रचना को समझने के लिए नीचे दिए गए उदाहरण को देखें:

// तर्क वर्ग AnonymousThreadClass द्वारा अनाम इनर वर्ग को चित्रित करने का कार्यक्रम {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// निर्माण तर्क के साथ अनाम वर्ग थ्रेड टी = नया थ्रेड (नया रननेबल () {सार्वजनिक शून्य रन) (सिस्टम)। out.println ('Child!')}) t.start () System.out.println ('जनक!')}}

आउटपुट:

जनक!

बच्चा!

नियमित और अनाम आंतरिक वर्ग के बीच अंतर

  • हम लागू कर सकते हैं इंटरफेस की कई संख्या सामान्य वर्ग का उपयोग करके, लेकिन, अनाम आंतरिक वर्ग के साथ, हम केवल एक इंटरफ़ेस लागू कर सकते हैं।

  • नियमित वर्ग के साथ हम कर सकते हैं एक वर्ग का विस्तार करें और कई इंटरफेस भी लागू करते हैं लेकिन, एक अनाम आंतरिक वर्ग के साथ, हम या तो एक वर्ग का विस्तार कर सकते हैं या एक इंटरफ़ेस लागू कर सकते हैं लेकिन एक ही समय में दोनों नहीं।

  • अनाम के साथ हम कंस्ट्रक्टर नहीं लिख सकता क्योंकि अनाम आंतरिक वर्ग का नाम नहीं है और निर्माता का नाम कक्षा के नाम के समान होना चाहिए।

इस लेख में, हमने देखा कि एक अनाम आंतरिक वर्ग क्या है और हम एक कैसे बना सकते हैं। हम अनाम आंतरिक वर्ग के सिंटैक्स के माध्यम से गए और यह भी कि हम 3 तरीकों से एक अनाम वर्ग कैसे बना सकते हैं और इसके साथ, हम जावा लेख में इस अनाम वर्ग के अंत में आते हैं। इसकी जाँच पड़ताल करो Edureka द्वारा।

कोई सवाल है? इस लेख के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपको वापस कर देंगे।