कैसे जावा में विधि छिपाना लागू करने के लिए



यह आलेख आपको उदाहरणों के साथ जावा में पद्धति को लागू करने के तरीके पर एक विस्तृत और व्यापक ज्ञान प्रदान करेगा।

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

कैसे वस्तुओं की एक सरणी बनाने के लिए

मेथड हाइडिंग क्या है?

विधि छिपाना कार्यात्मक रूप से ओवरराइड करने के तरीकों के समान है। ओवरराइडिंग में यदि आप एक ही प्रकार और सब-क्लास में हस्ताक्षर के साथ उप-वर्ग में एक विधि बनाते हैं तो यह उदाहरण के प्रकार के आधार पर तरीकों की कॉलिंग की अनुमति देता है।





जावा लोगो

एक ही प्रकार के साथ स्थिर तरीकों के मामले में औरसुपरक्लास और उप-वर्ग में हस्ताक्षर तब, उप-वर्ग में विधि सुपरक्लास में विधि को छिपाती है।



विधि छिपाना जावा कोड

पैकेज com.test क्लास पेरेंट {पब्लिक स्टैटिक void foo () {System.out.println ('पैरेंट क्लास में इनसाइड foo मेथड')} public void bar () {System.out.println ('पैरेंट क्लास में इनसाइड बार मेथड )}} क्लास चाइल्ड पेरेंट फैली {// सार्वजनिक स्थैतिक शून्य foo () {System.out.println ('चाइल्ड क्लास में इनसाइड foo मेथड)'}} // ओवरराइडिंग पब्लिक void बार () {System.out.print () चाइल्ड क्लास 'के अंदर बार मेथड')}} पब्लिक क्लास कोड {पब्लिक स्टैटिक शून्य मेन (स्ट्रिंग [] आर्ग्स) {पैरेंट पी = न्यू पेरेंट () पैरेंट सी = न्यू चाइल्ड () सिस्टम.आउट.प्रिंटलेन ('****) ************ विधि छुपाना ******************* '') p.foo () // यह माता-पिता सी में विधि को बुलाएगा .foo () // यह पैरेंट क्लास में पद्धति को कहेगा System.out.println ('**************** मेथड ओवरराइडिंग ************ ******* ’) p.bar () // यह पैरेंट क्लास में कॉल विधि c.bar () // यह चाइल्ड क्लास में मेथड कॉल करेगा}}

आउटपुट:

ऊपरोक्त मेंउदाहरण, सब-क्लास चाइल्ड के पास स्टेटिक विधि फू () है, जिसमें सुपर क्लास क्लास पेरेंट में एक ही नाम और हस्ताक्षर समान है। जब हम p.foo () और c.foo () कॉल करते हैं, तो इसे पैरेंट क्लास में foo () विधि कहते हैं



ओवरराइड करने की विधि के विपरीत जहां p.bar () पैरेंट क्लास में विधि को बुला रहा है और c.bar () चाइल्ड क्लास में विधि को कॉल करता है।

c ++ संदर्भ द्वारा कॉल

चूंकि संकलित तरीकों को संकलन समय पर हल किया जाता है, जबकि संकलन पहले अभिभावक वर्ग का अनुपालन होता है और फिर बाल वर्ग, और हम नहीं कर सकतेएक ही नाम के साथ दो स्थिर विधियां हैं दोनों फू विधियों को मूल वर्ग के फू () विधि के रूप में हल किया जाता है।

सारांश

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

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

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

जावा में पैकेज का उपयोग

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