Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा स्टेटिक

जावा स्टेटिक कीवर्ड का उपयोग कैसे करें

जब आप जावा में कक्षाओं के साथ काम कर रहे होते हैं, तो इससे पहले कि आप इसके सदस्यों तक पहुँच सकें, आपको आमतौर पर कक्षा का एक उदाहरण बनाना होगा। हालांकि, आपको ऐसी स्थिति का सामना करना पड़ सकता है जहां आप किसी वर्ग का उदाहरण बनाए बिना किसी वर्ग सदस्य को परिभाषित करना चाहते हैं।

यहीं से जावा स्टैटिक कीवर्ड आता है। जावा स्टैटिक कीवर्ड का उपयोग क्लास के सदस्यों को परिभाषित करने के लिए किया जाता है, जिन्हें आप क्लास का इंस्टेंस बनाए बिना एक्सेस कर सकते हैं।

यह ट्यूटोरियल, उदाहरणों के साथ, जावा स्टैटिक कीवर्ड की मूल बातें और आपके जावा प्रोग्राम में इसका उपयोग करने के तरीके पर चर्चा करेगा।

जावा क्लासेस

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

फिर हम उन वस्तुओं को बना सकते हैं जो उस वर्ग के उदाहरण हैं। उदाहरण के लिए, CoffeeOrder12 नामक एक वस्तु, CoffeeOrder वर्ग के ब्लूप्रिंट का उपयोग व्यक्तिगत कॉफी ऑर्डर के लिए डेटा स्टोर करने के लिए कर सकती है। CoffeeOrder12 ऑब्जेक्ट को CoffeeOrder वर्ग के भीतर घोषित सभी कार्यों और विधियों तक पहुँच प्राप्त होगी। इन विचारों के दृश्य प्रतिनिधित्व के लिए चित्र 1 देखें।

जावा स्टेटिक

अब जब हमने जावा कक्षाओं की बुनियादी बातों पर चर्चा कर ली है, तो हम जावा स्थिर कीवर्ड की खोज के लिए आगे बढ़ सकते हैं।

जावा स्टेटिक तरीके

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

यहाँ एक स्थिर विधि को लागू करने के लिए वाक्य रचना है:

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

Class.methodName();

आइए एक उदाहरण देखें कि यह कैसे काम करता है।

मान लीजिए हम एक प्रोग्राम बना रहे हैं जो एक कॉफी स्टोर के ऑर्डर को मैनेज करता है। हम CoffeeOrder नाम की एक क्लास बनाना चाहते हैं जो कॉफ़ी ऑर्डर करने के सभी फंक्शन्स को स्टोर करती है।

हम तय करते हैं कि हम बरिस्ता के कंसोल पर नए ऑर्डर नोटिफिकेशन को प्रिंट करने में सक्षम होना चाहते हैं। हम चाहते हैं कि यह नया ऑर्डर नोटिफिकेशन स्थिर हो क्योंकि यह कॉफी ऑर्डर ऑब्जेक्ट में किसी अन्य कोड पर निर्भर नहीं है। इस कार्य को पूरा करने के लिए हम निम्नलिखित कोड का उपयोग कर सकते हैं:

class CoffeeOrder { int createOrder() {// यहां कोड int orderNumber =92; वापसी आदेश संख्या; } स्थिर शून्य प्रिंटऑर्डर (इंट ऑर्डर) { System.out.println ("ऑर्डर #" + ऑर्डर + "ऑर्डर दिया गया है।"); }}क्लास मेन {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) { CoffeeOrder order92 =new CoffeeOrder (); इंट नंबर =ऑर्डर92.क्रिएटऑर्डर (); System.out.println ("ऑर्डर नंबर:" + नंबर); CoffeeOrder.printOrder (संख्या); }} 

हमारा कोड लौटाता है:

आदेश संख्या:92आदेश #92 दिया गया है।

आइए हमारे कोड को चरण दर चरण तोड़ें। सबसे पहले हम CoffeeOrder नामक एक वर्ग की घोषणा करते हैं। CoffeeOrder में दो तरीके होते हैं:createOrder() और printOrder()

createOrder() एक नियमित तरीका है जो एक ऑर्डर बनाता है और एक ऑर्डर नंबर देता है। printOrder() एक स्थिर विधि है जो बरिस्ता को सूचित करते हुए कंसोल को एक संदेश प्रिंट करती है कि एक नया आदेश दिया गया है।

हमारे मुख्य कार्यक्रम में, हम कॉफी ऑर्डर का एक ऑब्जेक्ट बनाते हैं जिसे ऑर्डर 92 कहा जाता है। यह ऑब्जेक्ट ऑर्डर #92 के लिए डेटा स्टोर करता है। फिर हम createOrder() . का उपयोग करते हैं ऑर्डर नंबर प्राप्त करने के लिए विधि, और हम कंसोल पर ऑर्डर नंबर:से पहले उस ऑर्डर नंबर का प्रिंट आउट लेते हैं।

जब हम createOrder() . का आह्वान करते हैं विधि, हम उपयोग करते हैं order92.createOrder() . ऐसा इसलिए है क्योंकि createOrder() एक स्थिर विधि नहीं है, इसलिए हम अपने ऑब्जेक्ट में हेरफेर करते समय इसे एक्सेस कर सकते हैं।

हमारे मुख्य कोड के अंत में, हम CoffeeOrder.printOrder() . का उपयोग करते हैं आदेश #[आदेश संख्या] आदेश बताते हुए एक संदेश मुद्रित करने के लिए आदेश दिया गया है। कंसोल को। इस संदेश में, order number एक विशिष्ट क्रम से जुड़ी संख्या के बराबर है। क्योंकि printOrder() एक स्थिर विधि है, हमें इसे एक्सेस करने के लिए CoffeeOrder (हमारी कक्षा) का उपयोग करना होगा।

यदि हमने order92.printOrder() . का उपयोग करने का प्रयास किया है (जो हमारी कक्षा का एक उदाहरण आमंत्रित करता है), जैसा कि हमने तब किया था जब हमने createOrder() . का उपयोग किया था विधि, हम हमें चेतावनी दे सकते हैं।

जावा स्टेटिक वैरिएबल

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

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

स्थिर स्ट्रिंग COFFEE_NAME ="एस्प्रेसो";

इस उदाहरण में, हमने COFFEE_NAME नामक एक स्थिर चर घोषित किया है, जिसके लिए हमने स्ट्रिंग मान एस्प्रेसो असाइन किया है।

चल रहे जावा स्थिर चर को प्रदर्शित करने के लिए एक उदाहरण के माध्यम से चलते हैं।

मान लीजिए कि हम एक प्रोग्राम बना रहे हैं जो एक कॉफी शॉप पर ऑर्डर प्रोसेस करता है। इस प्रोग्राम को ड्यूटी पर मौजूद बरिस्ता की संख्या को स्टोर करना चाहिए, और जब कोई ऑर्डर बनाया जाता है, तो प्रोग्राम को उस ऑर्डर को उस ऑर्डर को तैयार करने वाले बरिस्ता के नाम से जोड़ना चाहिए।

हम इस कोड का उपयोग अपना कॉफी प्रोसेसिंग प्रोग्राम बनाने के लिए कर सकते हैं:

क्लास कॉफीऑर्डर { int baristasOnDuty =2; स्थिर स्ट्रिंग नाम ="हन्ना जॉनसन"; सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) {कॉफ़ी ऑर्डर ऑर्डर 111 =नया कॉफ़ी ऑर्डर (); System.out.println ("ड्यूटी पर बरिस्ता:" + बरिस्ताऑनड्यूटी); System.out.println ("असाइन किया बरिस्ता:" + order111.name); }} 

हमारा कोड लौटाता है:

ड्यूटी पर बरिस्ता:2असाइन किए गए बरिस्ता:हन्ना जॉनसन

हमारे कोड में, हम निम्नलिखित दो चर घोषित करते हैं:

  • बरिस्ताऑनड्यूटी. यह एक मानक चर है, जिसका अर्थ है कि इसे हमारी पूरी कक्षा में एक्सेस किया जा सकता है।
  • नाम. यह एक स्थिर चर है, जिसका अर्थ है कि हमें उस वस्तु को संदर्भित करने की आवश्यकता है जिसके साथ इसका मूल्य प्राप्त करने के लिए यह जुड़ा हुआ है।

हमारे मुख्य कार्यक्रम में, हम CoffeeOrder वर्ग का एक उदाहरण बनाते हैं और इसे order111 कहते हैं। इसके बाद हम बैरिस्टस ऑन ड्यूटी संदेश का प्रिंट आउट लेते हैं:उसके बाद बरिस्ताऑनड्यूटी चर की सामग्री। चूंकि यह एक मानक चर है, इसलिए हमें इसके वर्ग नाम को संदर्भित करने की आवश्यकता नहीं है।

हमारे कोड की अगली पंक्ति पर, हम असाइन किए गए बरिस्ता संदेश को प्रिंट करते हैं:कंसोल पर, उसके बाद बरिस्ता का नाम जिसे ऑर्डर सौंपा गया है। हालाँकि, बरिस्ता का नाम एक स्थिर चर के रूप में संग्रहीत किया जाता है।

इसका मतलब यह है कि, बरिस्ता के नाम को पुनः प्राप्त करने के लिए, हमें उस वस्तु के नाम को संदर्भित करने की आवश्यकता है जिसके साथ वह चर जुड़ा हुआ है। इस मामले में, हम बरिस्ता के नाम को पुनः प्राप्त करने के लिए order111.name का उपयोग करते हैं। ऐसा इसलिए है क्योंकि चर नाम स्थिर है और इसलिए केवल ऑर्डर 111 ऑब्जेक्ट को संदर्भित करते समय ही पहुँचा जा सकता है।

जावा स्टेटिक ब्लॉक

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

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

स्थिर {// यहां कोड}

आइए एक उदाहरण के माध्यम से देखें कि एक स्थिर ब्लॉक कैसे काम करता है। मान लीजिए हमें संदेश बनाने के लिए कहा जाता है A new order is incoming … प्रोग्राम द्वारा बरिस्ता को आदेश देने से पहले कंसोल पर प्रिंट करें ताकि बरिस्ता तैयार करना जान सकें। हम एक स्थिर वर्ग बनाकर ऐसा कर सकते हैं। पहली बार प्रोग्राम निष्पादित होने पर स्थिर वर्ग चलेगा।

यहां एक स्थिर वर्ग का उदाहरण दिया गया है जो उपरोक्त संदेश को प्रिंट करता है, फिर एक बरिस्ता को एक आदेश देता है:

क्लास कॉफीऑर्डर { int baristasOnDuty =2; स्थिर स्ट्रिंग नाम ="हन्ना जॉनसन"; स्थिर { System.out.println ("एक नया आदेश आ रहा है ..."); } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {कॉफ़ी ऑर्डर ऑर्डर 111 =नया कॉफ़ी ऑर्डर (); System.out.println ("ड्यूटी पर बरिस्ता:" + बरिस्ताऑनड्यूटी); System.out.println ("असाइन किया बरिस्ता:" + order111.name); }} 

हमारा कोड लौटाता है:

एक नया आदेश आ रहा है ... ड्यूटी पर बरिस्ता:2असाइन किए गए बरिस्ता:हन्ना जॉनसन

हमारे कोड में, हमने सबसे पहले baristasOnDuty और name वेरिएबल्स को इनिशियलाइज़ किया। फिर प्रोग्राम ने संदेश मुद्रित किया एक नया आदेश आ रहा है ... कंसोल पर। यह संदेश हमारे स्थिर कोड ब्लॉक में संग्रहीत किया गया था। प्रोग्राम द्वारा स्टैटिक ब्लॉक की सामग्री को निष्पादित करने के बाद, इसने हमारा मुख्य प्रोग्राम चलाया, जिसने हमारे पिछले उदाहरण से मुख्य प्रोग्राम के समान आउटपुट लौटाया।

निष्कर्ष

जावा स्टैटिक कीवर्ड के कई उपयोग हैं। स्थिर तरीके, स्थिर चर और कोड के स्थिर ब्लॉक बनाने के लिए आप स्थिर कीवर्ड का उपयोग कर सकते हैं।

यह ट्यूटोरियल उदाहरणों के साथ चलता है, स्थिर कीवर्ड की मूल बातें और आप विधियों, चर और कोड ब्लॉक के साथ स्थिर कीवर्ड का उपयोग कैसे कर सकते हैं। इस ट्यूटोरियल को पढ़ने के बाद, आप जावा स्टैटिक कीवर्ड जैसे प्रो का उपयोग शुरू करने के लिए तैयार हैं।


  1. जावा में इंटरफ़ेस

    एक इंटरफ़ेस जावा में एक संदर्भ प्रकार है। यह एक वर्ग के समान है। यह अमूर्त विधियों का एक संग्रह है। एक वर्ग एक इंटरफ़ेस लागू करता है, जिससे इंटरफ़ेस के अमूर्त तरीकों को विरासत में मिलता है। अमूर्त विधियों के साथ, एक इंटरफ़ेस में स्थिरांक, डिफ़ॉल्ट विधियाँ, स्थिर विधियाँ और नेस्टेड प्रकार भी हो सकते

  1. जावा में सार वर्ग

    जिस वर्ग की घोषणा में सार कीवर्ड होता है उसे अमूर्त वर्ग के रूप में जाना जाता है। एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स हो भी सकते हैं या नहीं भी हो सकते हैं, यानी बॉडी के बिना मेथड्स ( public void get(); ) लेकिन, यदि किसी वर्ग में कम से कम एक सार विधि है, तो कक्षा को सार घोषित किया जाना चाहि

  1. जावा में अंतिम कक्षा

    किसी वर्ग को अंतिम घोषित करने का मुख्य उद्देश्य वर्ग को उपवर्ग होने से रोकना है। यदि किसी वर्ग को अंतिम के रूप में चिह्नित किया जाता है तो कोई भी वर्ग अंतिम वर्ग से किसी भी विशेषता को प्राप्त नहीं कर सकता है। public final class Test {    // body of class }