] स्टेटिक फ़ील्ड केवल एक बार इनिशियलाइज़ किए जाते हैं और एक क्लास के सभी उदाहरणों में समान मूल्य साझा करते हैं। हालांकि यह उनकी घोषणाओं के भीतर स्थैतिक क्षेत्रों को मूल्यों को असाइन करना संभव है, कुछ परिदृश्य हैं जहां यह दृष्टिकोण अव्यावहारिक है। उदाहरण के लिए, कल्पना कीजिए कि आपके पास एक फ़ील्ड है जो डेटाबेस कनेक्शन की एक सूची का प्रतिनिधित्व करता है, जो कॉन्फ़िगरेशन सेटिंग्स के आधार पर आरंभीकृत है। आप इस क्षेत्र को सीधे इसकी घोषणा के भीतर आरंभ नहीं कर सकते हैं क्योंकि कॉन्फ़िगरेशन अभी तक उपलब्ध नहीं है।
ऐसे मामलों में, स्थैतिक आरंभीकरण ब्लॉक खेल में आते हैं। इन ब्लॉकों को क्लास लोडिंग के दौरान निष्पादित किया जाता है और वर्तमान संदर्भ के आधार पर स्थिर क्षेत्रों को इनिशियलाइज़ करने के लिए एक सुविधाजनक तरीका प्रदान किया जाता है। वे स्थिर घुंघराले ब्रेसिज़ के भीतर संलग्न हैं:
सार्वजनिक स्थैतिक वर्ग परीक्षण { स्थैतिक { // स्टेटिक फ़ील्ड को यहां इनिशियलाइज़ करें } … इनका उपयोग इंस्टेंस-विशिष्ट फ़ील्ड को इनिशियलाइज़ करने या अन्य सेटअप ऑपरेशन करने के लिए किया जाता है। स्थैतिक { System.out.println ("स्टेटिक ब्लॉक एक बार निष्पादित"); } { System.out.println ("गैर-स्थिर ब्लॉक हर बार एक उदाहरण बनाया जाता है"); } सार्वजनिक स्थैतिक शून्य main (String [] args) { परीक्षण T1 = नया परीक्षण (); // गैर-स्थिर ब्लॉक निष्पादित परीक्षण t2 = नया परीक्षण (); // गैर-स्थिर ब्लॉक फिर से निष्पादित किया गया } } जब आप इस कोड को चलाते हैं, हर बार जब कोई उदाहरण बनाया जाता है तो गैर-स्थिर ब्लॉक निष्पादित होता है गैर-स्थिर ब्लॉक को हर बार निष्पादित किया जाता है जब कोई उदाहरण
बनाया जाता है, जैसा कि आप देख सकते हैं, स्टेटिक ब्लॉक को केवल एक बार क्लास लोडिंग के दौरान निष्पादित किया जाता है, जबकि गैर-स्टैटिक ब्लॉक को हर बार क्लास का एक उदाहरण बनाया जाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3