वस्तुओं का निर्माण - 1

"हाय, यह फिर से आपका पसंदीदा शिक्षक है। चूंकि आप इतनी अच्छी प्रगति कर रहे हैं, इसलिए मैंने आपको वस्तुओं और उनके साथ काम करने के तरीके के बारे में बताने का फैसला किया है।"

" ऑब्जेक्ट बनाने के लिए, आपको 'नया' कीवर्ड टाइप करना होगा और उसके बाद उसका टाइप नाम (वर्ग नाम)। उदाहरण के लिए, मान लें कि हमारे पास 'कैट' नाम की एक क्लास है:"

कोड विवरण
Cat cat;
कैट नाम के एक कैट रेफरेंस वेरिएबल को डिक्लेयर करता है। चर बिल्ली का मान शून्य है।
new Cat();
कैट ऑब्जेक्ट बनाता है।
Cat cat = new Cat();
कैट नाम का एक कैट रेफरेंस वेरिएबल बनाता है।
एक नया कैट ऑब्जेक्ट बनाता है। वेरिएबल कैट को नए बनाए गए ऑब्जेक्ट का रेफरेंस असाइन करता है।
Cat kitty = new Cat();
Cat smokey = new Cat();
दो वस्तुएँ बनती हैं। उनके संदर्भ दो अलग-अलग चरों को सौंपे गए हैं।
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
दो वस्तुएँ बनती हैं। उनके संदर्भ दो अलग-अलग चरों को सौंपे गए हैं।

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

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
एक कैट ऑब्जेक्ट बनाया जाता है, और इसके लिए एक संदर्भ पहले वेरिएबल (किटी) को सौंपा जाता है। दूसरा चर (स्मोकी) एक खाली (शून्य) संदर्भ संग्रहीत करता है।

दोनों चर एक ही वस्तु को संदर्भित करते हैं।

अब केवल स्मोकी, लेकिन किटी नहीं, किसी वस्तु को संदर्भित करता है।

"क्या होगा यदि हमने कोई ऑब्जेक्ट बनाया है और किसी भी चर में संदर्भ नहीं सहेजा है?"

"यदि हम एक चर को निर्दिष्ट किए बिना एक वस्तु बनाते हैं, तो जावा मशीन इसे बनाएगी और फिर इसे कचरा (एक अप्रयुक्त वस्तु) घोषित करेगी। थोड़ी देर के बाद, कचरा संग्रह के दौरान वस्तु का निपटान किया जाएगा। "

"मैं उस वस्तु का निपटान कैसे करूं जिसकी मुझे अब आवश्यकता नहीं है?"

"आप नहीं करते हैं। जैसे ही कोई चर किसी वस्तु को संदर्भित नहीं करता है, इसे कचरा के रूप में लेबल किया जाता है और अगली बार जब यह कचरा एकत्र करता है तो जावा मशीन द्वारा नष्ट कर दिया जाता है। "

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

"समझ गया। पिछले कुछ पाठों की तुलना में, यह बहुत सरल दिखता है।"

"डिएगो पूरी रात आपके लिए कार्यों के बारे में सोचता रहा है। उसने यह विशेष प्रयास सिर्फ आपके लिए किया है। उसके पास हास्य की एक महान भावना है, आप जानते हैं?"


Codegym यूनिवर्सिटी कोर्स के भाग के रूप में एक परामर्शदाता के साथ एक व्याख्यान स्निपेट। पूर्ण पाठ्यक्रम के लिए साइन अप करें।