आइए ईमानदार रहें - जब हम पहली बार स्थिर कीवर्ड के सामने आते हैं, तो हम सभी सोचते हैं: "यह किस तरह का जादू है?" ? लेकिन चिंता न करें, मैं इसे सरल, गहन और शायद थोड़ा मज़ेदार तरीके से तोड़ने के लिए यहाँ हूँ!
कल्पना कीजिए कि आप किसी पार्टी में हैं? आप और आपके सभी दोस्त टोपी पहने हुए हैं। लेकिन केवल एक टोपी है जिसे हर किसी को साझा करना होगा। जावा में स्टेटिक कीवर्ड मूलतः यही करता है! प्रत्येक मित्र के लिए एक टोपी बनाने के बजाय (जो गड़बड़ हो सकती है), आपके पास एक टोपी है जो समूह-वर्ग- से संबंधित है और आप सभी इसे बारी-बारी से पहन सकते हैं।
अब जब हमारे मन में वह तस्वीर आ गई है, तो आइए जानें कि जावा में स्टेटिक वास्तव में क्या करता है।
सरल शब्दों में, जब आप जावा में स्टेटिक कीवर्ड का उपयोग करते हैं, तो आप कहते हैं, "अरे, यह चीज़ यहीं क्लास की है, न कि उस क्लास की किसी विशिष्ट वस्तु की।"
इसका मतलब यह है:
एक स्थिर चर उस एक टोपी की तरह है जिसे हर कोई साझा करता है। यदि आप टोपी बदलते हैं (उदाहरण के लिए, उसमें एक पंख चिपका दें), प्रत्येक व्यक्ति परिवर्तन देखता है।
class Party { static int numberOfGuests = 0; // static variable Party() { numberOfGuests ; // Increment the guest count every time someone joins the party } } public class Main { public static void main(String[] args) { Party guest1 = new Party(); Party guest2 = new Party(); Party guest3 = new Party(); System.out.println(Party.numberOfGuests); // Output: 3 ? } }
उदाहरण में, सभी अतिथि numberOfGuests वैरिएबल साझा करते हैं। प्रत्येक नए अतिथि को अपनी स्वयं की अतिथि गणना नहीं मिलती (अराजकता की कल्पना करें!)। इसके बजाय, हर कोई समान गिनती अपडेट करता है। अब, इससे कोई फर्क नहीं पड़ता कि कितने मेहमान आते हैं, मेहमानों की संख्या केवल एक है, और यह पार्टी वर्ग से संबंधित है, किसी व्यक्तिगत अतिथि से नहीं।
स्टेटिक तरीके पार्टी में पिज़्ज़ा डिलीवरी करने वालों की तरह होते हैं—आप उन्हें कॉल कर सकते हैं, और वे निमंत्रण (ऑब्जेक्ट) की आवश्यकता के बिना आ जाएंगे। इससे कोई फर्क नहीं पड़ता कि आपकी कितनी पार्टियाँ हैं, एक ही पिज़्ज़ा वाला उन सभी को पिज़्ज़ा पहुँचाता है? आप बस पिज़्ज़ा स्थान (कक्षा) को कॉल करें, और वे आ जाएंगे!
class PizzaShop { static void deliverPizza() { System.out.println("Pizza delivered! ?"); } } public class Main { public static void main(String[] args) { PizzaShop.deliverPizza(); // No need to create a PizzaShop object } }
उपरोक्त उदाहरण में, आपको पिज़्ज़ा प्राप्त करने के लिए पिज़्ज़ाशॉप ऑब्जेक्ट बनाने की आवश्यकता नहीं है। आपने विधि को सीधे कक्षा से बुलाया। क्योंकि आप हर बार भूख लगने पर एक दुकान क्यों बनाना चाहेंगे?
पार्टी शुरू होने से पहले, डीजे ध्वनि की जांच करता है, है ना? यह एक तरह से स्थैतिक ब्लॉक जैसा है। यह एक बार चलता है, इससे पहले कि कुछ और हो, यह सुनिश्चित करने के लिए कि सब कुछ ठीक जगह पर है।
class Party { static String music; // Static block to set up the DJ's playlist ? static { music = "Let's Dance by David Bowie"; System.out.println("Music is set up: " music); } } public class Main { public static void main(String[] args) { System.out.println("Party is starting with: " Party.music); } }
किसी भी पार्टी के शुरू होने से पहले स्थैतिक ब्लॉक निष्पादित किया जाता है। संगीत पहले से सेट किया गया है, इसलिए जब मेहमान आते हैं, तो वे पहले से ही थिरकने लगते हैं?
class Party { static class VIPArea { void exclusiveService() { System.out.println("Welcome to the VIP area! ?"); } } } public class Main { public static void main(String[] args) { Party.VIPArea vip = new Party.VIPArea(); // No need for a Party object vip.exclusiveService(); // Output: Welcome to the VIP area! ? } }भले ही वीआईपी क्षेत्र पार्टी का हिस्सा है, लेकिन इसका उपयोग करने के लिए आपको पूर्ण विकसित पार्टी की आवश्यकता नहीं है। यह अकेला खड़ा है—एक उग्र कार्यक्रम के अंदर एक शांत, शांत वीआईपी लाउंज की तरह।
"यह सब अच्छा है, लेकिन मुझे वास्तव में स्टेटिक का उपयोग कब करना चाहिए?" खैर, यहां चीट शीट है:
लेकिन याद रखें, हर चीज़ को सभी के लिए स्थिर मुफ़्त में न बदल दें! इसे बुद्धिमानी से उपयोग करें, और आपका कोड साफ़, कुशल और अराजकता से मुक्त होगा?.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3