जावा में नेस्टेड क्लास कैसे लागू करें?



जावा में नेस्टेड क्लास पर यह लेख आपको समझने में मदद करेगा कि एक उदाहरण कार्यक्रम की मदद से नेस्टेड कक्षाओं को कैसे लागू किया जाए।

जावा में, एक वर्ग को दूसरे वर्ग के भीतर परिभाषित किया जा सकता है और ऐसी कक्षाओं को नेस्टेड कक्षाओं के रूप में जाना जाता है। ये कक्षाएं आपको तार्किक रूप से समूह कक्षाओं में मदद करती हैं जो केवल एक ही स्थान पर उपयोग की जाती हैं। यह एन्कैप्सुलेशन का उपयोग बढ़ाता है और एक अधिक पठनीय और बनाए रखने योग्य कोड बनाता है। 'जावा में नेस्टेड क्लास' पर यह ब्लॉग आपको नेस्टेड कक्षाओं में एक त्वरित-टू-द-पॉइंट परिचय देगा । नीचे इस ब्लॉग में शामिल विषय दिए गए हैं:

जावा में नेस्टेड क्लास

कक्षा किसी वर्ग के भीतर लिखी गई कक्षा को नेस्टेड क्लास कहा जाता है जबकि आंतरिक वर्ग को रखने वाले वर्ग को बाहरी वर्ग कहा जाता है। नीचे जावा में नेस्टेड कक्षाओं के लिए याद करने के लिए कुछ बिंदु हैं -





  • एक नेस्टेड क्लास का दायरा उसके संलग्न वर्ग से घिरा होता है।
  • एक नेस्टेड क्लास के पास उस वर्ग के सदस्यों तक पहुंच होती है, जिसमें वह नेस्टेड है। लेकिन, संलग्न वर्ग नेस्टेड क्लास के सदस्यों तक नहीं पहुंच सकता है।
  • एक नेस्टेड वर्ग इसका संलग्न वर्ग सदस्य है।
  • एक नेस्टेड वर्ग को सार्वजनिक, निजी, संरक्षित या पैकेज-निजी घोषित किया जा सकता है।

नेस्टेड वर्गों के प्रकार

इनर / नॉन-स्टैटिक नेस्टेड क्लास: जावा में, गैर-स्थैतिक कक्षाएं एक सुरक्षा तंत्र हैं। एक वर्ग के साथ संबद्ध नहीं किया जा सकता है पहुंच संपादित करें निजी, लेकिन यदि आपके पास अन्य वर्ग के सदस्य के रूप में वर्ग है, तो गैर-स्थिर वर्ग को निजी बनाया जा सकता है।

कैसे एक ढेर लगाने के लिए

आंतरिक वर्गों के प्रकार & minus;



  • भीतरी वर्ग
  • विधि-स्थानीय इनर क्लास
  • अनाम भीतरी वर्ग

भीतरी वर्ग

एक आंतरिक वर्ग बनाने के लिए आपको एक कक्षा के भीतर एक कक्षा लिखने की आवश्यकता है। एक आंतरिक वर्ग निजी हो सकता है जिसे एक से एक्सेस नहीं किया जा सकता है वस्तु क्लास के बाहर। नीचे एक आंतरिक वर्ग बनाने का कार्यक्रम है। इस उदाहरण में, आंतरिक वर्ग को निजी बनाया गया है और एक विधि के माध्यम से कक्षा तक पहुँचा जा सकता है।

वर्ग Outer_Test {int संख्या // आंतरिक वर्ग निजी वर्ग Inner_Test {सार्वजनिक शून्य प्रिंट () {System.out.println ('यह एक हमारा आंतरिक वर्ग है)}}} // विधि वर्ग से वह आंतरिक कक्षा तक पहुंच प्रदर्शित कर रहा है__ner () { Inner_Test inner = new Inner_Test () inner.print ()}} public class My_class {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {// बाहरी वर्ग Outer_Test का बाहरी = नया Outer_Test () // accessing display_Inner () विधि । आउटर .isplay_Inner ()}}

आउटपुट
नस्टेड क्लास इनर- एडुर्का

विधि-स्थानीय इनर क्लास

जावा में, एक वर्ग के भीतर लिखा जा सकता है और यह एक स्थानीय प्रकार है। स्थानीय चर के समान, विधि के भीतर एक आंतरिक वर्ग का दायरा प्रतिबंधित है। एक विधि-स्थानीय आंतरिक वर्ग को केवल उस पद्धति के भीतर शामिल किया जाता है जहां आंतरिक वर्ग को परिभाषित किया जाता है। नीचे दिए गए कार्यक्रम से पता चलता है कि एक विधि-स्थानीय आंतरिक वर्ग का उपयोग कैसे करें।



पब्लिक क्लास आउटरक्लास {// एक्सटर्नल क्लास ऑफ द एक्सटर्नल वाउड my_Method () {int num = 1001 // मेथड-लोकल इनर क्लास क्लास StarInner_Test {public void प्रिंट () {System.out.println ('यह स्टार इनर क्लास है + num)}} आंतरिक वर्ग का अंत // // आंतरिक वर्ग का प्रवेश StarInner_Test star = new StarInner_Test () star.print ()} public static void main (स्ट्रिंग args []) {Outerclass बाहरी - नया Outerclass () बाहरी। my_Method ()}}

आउटपुट

अनाम भीतरी वर्ग

बेनामी इनर क्लास एक आंतरिक वर्ग है जिसे एक वर्ग के नाम के बिना घोषित किया गया है। एक अनाम आंतरिक वर्ग में, हम एक ही समय में इसे घोषित और त्वरित करते हैं। वे आम तौर पर तब उपयोग किए जाते हैं जब आपको कक्षा या इंटरफ़ेस की विधि को ओवरराइड करने की आवश्यकता होती है। नीचे दिए गए कार्यक्रम से पता चलता है कि एक अनाम आंतरिक वर्ग का उपयोग कैसे करें -

सार वर्ग AnonymousInnerTest {सार्वजनिक सार void mytest ()} सार्वजनिक वर्ग Outer_class {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {AnonymousInnerTest भीतरी = नया AnonymousInnerestest () {public void mytest () {System.out.println () (यह एक है) अनाम आंतरिक परीक्षण वर्ग ') का उदाहरण}}} inner.mytest ()}}

आउटपुट-

स्टेटिक नेस्टेड क्लास: सेवा मेरे एक नेस्टेड क्लास है जो बाहरी वर्ग का एक स्थिर सदस्य है। आंतरिक वर्ग के विपरीत, स्थिर नेस्टेड वर्ग बाहरी वर्ग के सदस्य चर का उपयोग नहीं कर सकता है क्योंकि स्थिर नेस्टेड वर्ग को बाहरी वर्ग के उदाहरण की आवश्यकता नहीं होती है। इसलिए, बाहरी वर्ग OuterClass.this के साथ कोई संदर्भ नहीं है। स्टेटिक नेस्टेड क्लास का सिंटैक्स है -

वर्ग MyOuter {स्थिर वर्ग Nested_Test {}}

स्टेटिक नेस्टेड क्लास का उदाहरण

सार्वजनिक वर्ग बाहरी {स्थिर वर्ग Nested_Test {सार्वजनिक शून्य my_method () {System.out.println ('यह Edureka का नेस्टेड टेस्ट क्लास है)}}} सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args]]) {Outer.Nested_Test nested = new Outer। Nested_Test () nested.my_method ()}}

आउटपुट

स्टेटिक और नॉन-स्टेटिक नेस्टेड क्लासेस के बीच अंतर

स्टेटिक नेस्टेड क्लासेस सीधे संलग्न वर्ग के अन्य सदस्यों के लिए उपयोग नहीं करते हैं। स्थिर होने के कारण, इसे अपने एन्क्लेविंग वर्ग के गैर-स्थिर सदस्यों को किसी ऑब्जेक्ट के माध्यम से एक्सेस करना होगा, जिसका अर्थ है कि यह सीधे एनक्लोजिंग वर्ग के गैर-स्थिर सदस्यों को संदर्भित नहीं कर सकता है। और इस प्रतिबंध के कारण, स्थिर नेस्टेड वर्गों का शायद ही कभी उपयोग किया जाता है।

नॉन-स्टैटिक नेस्टेड क्लासेस की अपने बाहरी वर्ग के सभी सदस्यों तक पहुँच होती है और उन्हें सीधे उसी तरह से संदर्भित कर सकते हैं जिस तरह से बाहरी वर्ग के अन्य गैर-स्टैटिक सदस्य करते हैं।

इससे पहले कि हम इस लेख के अंत में आएं, हम कुछ प्रमुख बिंदुओं पर ध्यान दें।

याद रखने के लिए महत्वपूर्ण बिंदु

  • आंतरिक वर्ग को एक वर्ग के नियमित सदस्य के रूप में माना जाता है।
  • चूंकि आंतरिक वर्ग बाहरी वर्ग का सदस्य है, इसलिए आप अपनी आंतरिक कक्षा में संरक्षित, निजी जैसे विभिन्न एक्सेस मॉडिफ़ायर लगा सकते हैं।
  • चूंकि नेस्टेड क्लास अपने संलग्न वर्ग का सदस्य है, इसलिए आप उपयोग कर सकते हैं। (डॉट) नेस्टेड क्लास और उसके सदस्यों तक पहुँचने के लिए नोटेशन।
  • नेस्टेड क्लास का उपयोग करना आपके कोड को अधिक पठनीय बनाता है और बेहतर प्रदान करता है एनकैप्सुलेशन
  • आंतरिक वर्ग के बाहरी वर्ग के अन्य सदस्यों तक पहुंच होती है, भले ही वे निजी घोषित किए गए हों।

इसके साथ, हम जावा में नेस्टेड कक्षाओं पर इस ब्लॉग के अंत में आते हैं। यदि आप जावा के बारे में अधिक जानना चाहते हैं, तो देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम उन छात्रों और पेशेवरों के लिए डिज़ाइन किया गया है जो जावा डेवलपर बनना चाहते हैं। पाठ्यक्रम आपको जावा प्रोग्रामिंग में एक शुरुआत देने के लिए डिज़ाइन किया गया है और आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करता है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस 'नेस्टेड क्लास इन जावा' ब्लॉग के कमेंट सेक्शन में उल्लेख करें और हम जल्द से जल्द आपके पास वापस आएँगे।