"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > किसी शून्य संदर्भ पर स्टेटिक विधि लागू करने से NullPointerException क्यों नहीं आती?

किसी शून्य संदर्भ पर स्टेटिक विधि लागू करने से NullPointerException क्यों नहीं आती?

2024-11-12 को प्रकाशित
ब्राउज़ करें:423

Why Doesn\'t Invoking a Static Method on a Null Reference Throw a NullPointerException?

स्थैतिक विधि मंगलाचरण और अशक्त संदर्भों को समझना

आम गलत धारणाओं के विपरीत, एक अशक्त संदर्भ पर (स्थैतिक) विधि लागू करने का परिणाम नहीं होता है एक NullPointerException. इस व्यवहार को समझने के लिए, जावा में स्थैतिक तरीकों की अवधारणा को समझना आवश्यक है। विशिष्ट ऑब्जेक्ट उदाहरणों से जुड़े होते हैं, स्थैतिक विधियाँ उस वर्ग से जुड़ी होती हैं जिससे वे संबंधित होते हैं। चूंकि वे प्रकार के स्तर पर काम करते हैं, इसलिए उन्हें किसी ऑब्जेक्ट तक पहुंचने की आवश्यकता नहीं होती है। एक प्रकार की अभिव्यक्ति का उपयोग करके है, जैसे कि व्हाई.टेस्ट()। यह दृष्टिकोण सुनिश्चित करता है कि किसी ऑब्जेक्ट इंस्टेंस को शामिल किए बिना स्थैतिक विधि को सीधे कक्षा में बुलाया जाता है। ऑब्जेक्ट संदर्भ अभिव्यक्तियाँ, ऐसा करना दृढ़ता से हतोत्साहित किया जाता है और इससे भ्रम पैदा हो सकता है। इस दृष्टिकोण का उपयोग करते समय (क्यों aNull = null; aNull.test()), संदर्भ का घोषित प्रकार (क्यों) लागू की गई स्थिर विधि को निर्धारित करता है।

ऑब्जेक्ट संदर्भ अभिव्यक्तियों का उपयोग करने के निहितार्थ

शून्य जांच को नजरअंदाज कर दिया जाता है: चूंकि किसी ऑब्जेक्ट की आवश्यकता नहीं है, इसलिए शून्य जांच चालू है संदर्भ (aNull) अप्रासंगिक है।

रनटाइम प्रकार को अनदेखा किया जाता है:

ऑब्जेक्ट का वास्तविक रनटाइम प्रकार (यदि शून्य नहीं है) स्थिर विधि के प्रेषण को प्रभावित नहीं करता है।

निष्कर्ष

भ्रम से बचने और पूर्वानुमान सुनिश्चित करने के लिए, हमेशा स्थिर तरीकों का उपयोग करें प्रकार के भाव. सही और रखरखाव योग्य जावा कोड लिखने के लिए स्थिर सदस्यों की प्रकृति और उनके पहुंच तंत्र को समझना महत्वपूर्ण है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3