इस कीवर्ड में Java

⚡ स्मार्ट सारांश

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

  • 🔑 परिभाषा: यह किसी क्लास के वर्तमान इंस्टेंस को संदर्भित करता है।
  • 🧱 विवादों को सुलझाओ: समान नाम वाले पैरामीटर से इंस्टेंस वेरिएबल को अलग करने के लिए this.field का उपयोग करें।
  • 🪜 कंस्ट्रक्टर का उपयोग: यह (this()) स्वच्छ आरंभीकरण के लिए उसी क्लास के एक अन्य कंस्ट्रक्टर को कॉल करता है।
  • पास करें और वापस करें: इसे आर्गुमेंट के रूप में भेजें या मेथड चेनिंग को सपोर्ट करने के लिए इसे रिटर्न करें।
  • 🧪 कार्य उदाहरण: अकाउंट क्लास यह दर्शाती है कि यह पैरामीटर शैडोइंग के कारण होने वाले शून्य आउटपुट की समस्या को कैसे ठीक करता है।
  • 🤖 एआई सहायता: एआई कोडिंग टूल इन उपसर्गों की अनुपस्थिति का पता लगाते हैं और सटीक रिफैक्टरिंग का सुझाव देते हैं।

इस कीवर्ड में Java

यह कीवर्ड क्या है? Java?

RSI इस कीवर्ड में Java एक संदर्भ चर है जो किसी विधि या कंस्ट्रक्टर के वर्तमान ऑब्जेक्ट को संदर्भित करता है। इस कीवर्ड का उपयोग करने का मुख्य उद्देश्य Java इसका उद्देश्य समान नाम वाले क्लास एट्रिब्यूट और पैरामीटर के बीच भ्रम को दूर करना है।

इस कीवर्ड का उपयोग Java

निम्नलिखित में इस कीवर्ड के विभिन्न उपयोग दिए गए हैं। Java:

  • इसका उपयोग वर्तमान क्लास के इंस्टेंस वेरिएबल को संदर्भित करने के लिए किया जा सकता है।
  • इसका उपयोग वर्तमान क्लास कंस्ट्रक्टर को आह्वान करने या आरंभ करने के लिए किया जा सकता है।
  • इसे मेथड कॉल में आर्गुमेंट के रूप में पास किया जा सकता है।
  • इसे कंस्ट्रक्टर कॉल में एक आर्गुमेंट के रूप में पास किया जा सकता है।
  • इसका उपयोग वर्तमान क्लास इंस्टेंस को वापस करने के लिए किया जा सकता है।

क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो

इस कीवर्ड को उदाहरण सहित कैसे समझें

इस कीवर्ड में Java
Java यह कीवर्ड उदाहरण

  1. वर्ग: वर्ग खाता
  2. उदाहरण चर: ए और बी
  3. विधि सेट डेटा: a और b के लिए मान सेट करने के लिए.
  4. विधि डेटा दिखाएँ: a और b के मान प्रदर्शित करने के लिए.
  5. मुख्य विधि: जहां हम अकाउंट क्लास के लिए एक ऑब्जेक्ट बनाते हैं और सेट डेटा और शो डेटा मेथड को कॉल करते हैं।

कंपाइलर की उलझनों से निपटना

आइए कोड को कंपाइल और रन करें।

A और B के लिए हमारा अपेक्षित आउटपुट क्रमशः 2 और 3 मानों पर आरंभीकृत किया जाना चाहिए।

लेकिन इसका मान शून्य है। ऐसा क्यों? आइए इसकी जांच करें।

इस कीवर्ड में Java

Set data मेथड में, आर्गुमेंट को a और b के रूप में घोषित किया जाता है, जबकि इंस्टेंस वेरिएबल को भी a और b नाम दिया जाता है।

इस कीवर्ड में Java

निष्पादन के दौरान, कंपाइलर इस बात को लेकर असमंजस में है कि असाइन किए गए ऑपरेटर के बाईं ओर स्थित "a" इंस्टेंस वेरिएबल है या लोकल वेरिएबल। इसलिए, जब सेट डेटा मेथड को कॉल किया जाता है, तो यह "a" का मान सेट नहीं करता है।

इस कीवर्ड में Java

इसका समाधान 'this' कीवर्ड है।

“a” और “b” दोनों को जोड़ें Java इस कीवर्ड के बाद डॉट (.) ऑपरेटर लगाएं।

इस कीवर्ड में Java

कोड निष्पादन के दौरान जब कोई ऑब्जेक्ट setdata विधि को कॉल करता है, तो कीवर्ड this को ऑब्जेक्ट हैंडलर "obj" से बदल दिया जाता है। (नीचे दी गई छवि देखें।)

इस कीवर्ड में Java

तो अब संकलक जानता है,

  • बाईं ओर स्थित “a” एक इंस्टेंस वेरिएबल है।
  • जबकि दाहिनी ओर स्थित “a” एक स्थानीय चर है।

RSI चर सही ढंग से आरंभीकृत किए गए हैं, और अपेक्षित आउटपुट दिखाया गया है।

इस कीवर्ड में Java

कंपाइलर एकाधिक ऑब्जेक्ट्स को कैसे हैंडल करता है

मान लीजिए कि आप अपने इंस्टेंस वेरिएबल और मेथड आर्गुमेंट्स के लिए अलग-अलग नाम चुनते हैं।

इस कीवर्ड में Java

लेकिन इस बार, आप क्लास के दो ऑब्जेक्ट बनाते हैं, जिनमें से प्रत्येक सेट डेटा विधि को कॉल करता है।

कंपाइलर यह कैसे निर्धारित करेगा कि उसे ऑब्जेक्ट 1 या ऑब्जेक्ट 2 के इंस्टेंस वेरिएबल पर काम करना है?

इस कीवर्ड में Java

अच्छी तरह से संकलक अंतर्निहित रूप से जोड़ता है इंस्टेंस वेरिएबल जिसमें 'this' कीवर्ड है (नीचे दी गई छवि)।

इस कीवर्ड में Java

इस प्रकार, जब ऑब्जेक्ट 1 सेट डेटा विधि को कॉल कर रहा होता है, तो एक उदाहरण चर को उसके संदर्भ चर द्वारा जोड़ दिया जाता है।

इस कीवर्ड में Java

जब ऑब्जेक्ट 2 सेट डेटा विधि को कॉल कर रहा होता है, तो ऑब्जेक्ट 2 का एक इंस्टेंस वेरिएबल संशोधित होता है।

इस कीवर्ड में Java

कंपाइलर इसे स्वचालित रूप से संभाल लेता है। आपको 'this' कीवर्ड को स्पष्ट रूप से जोड़ने की आवश्यकता नहीं है, जब तक कि कोई असाधारण स्थिति इसकी मांग न करे।

उदाहरण: इस कीवर्ड में Java - Code

उदाहरण: इस कीवर्ड के उपयोग को सीखने के लिए।

चरण 1) निम्नलिखित कोड को नोटपैड में कॉपी करें।

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

चरण 2) कोड को सेव करें, कंपाइल करें और रन करें।

चरण 3) a और b का मान शून्य दिखाया गया है? इस त्रुटि को सुधारने के लिए, पंक्ति संख्या 6 और 7 में निम्नलिखित मान जोड़ें: इसका कीवर्ड।

this.a =a;
this.b =b;

चरण 4) कोड को सेव करें, कंपाइल करें और रन करें। इस बार, a और b के मान क्रमशः 2 और 3 निर्धारित किए गए हैं।

अक्सर पूछे जाने वाले प्रश्न

'this' कीवर्ड उस ऑब्जेक्ट को संदर्भित करता है जिसका मेथड या कंस्ट्रक्टर चल रहा है। यह कोड को उस ऑब्जेक्ट के इंस्टेंस फ़ील्ड और मेथड तक पहुँचने की अनुमति देता है।

नहीं। 'this' कीवर्ड इंस्टेंस से संबंधित है, जबकि स्टैटिक मेथड क्लास स्तर पर मौजूद होते हैं। स्टैटिक मेथड के अंदर 'this' का उपयोग करने से कंपाइल-टाइम त्रुटि उत्पन्न होती है।

this() फ़ंक्शन पहले स्टेटमेंट के समान क्लास के एक अन्य कंस्ट्रक्टर को कॉल करता है। यह डुप्लिकेट कोड से बचाता है और एक कंस्ट्रक्टर को सेटअप का काम ओवरलोडेड कंस्ट्रक्टर को सौंपने देता है।

एआई कोडिंग सहायक छिपे हुए मापदंडों को चिह्नित करते हैं, छूटे हुए 'this' उपसर्ग को जोड़ते हैं, और 'this()' श्रृंखला और 'this' लौटाने वाले फ़्लूएंट सेटर्स का उपयोग करने के लिए कंस्ट्रक्टरों को फिर से लिखते हैं।

एआई ट्यूटर ऑब्जेक्ट की पहचान समझाते हैं, इंस्टेंस बनाम लोकल स्कोप दिखाते हैं, और चरण-दर-चरण उदाहरण प्रस्तुत करते हैं, साथ ही क्विज़ भी देते हैं जो यह स्पष्ट करते हैं कि 'this' कीवर्ड का उपयोग कब करना है।

हमारे लेख की जाँच करें Java साक्षात्कार प्रश्न:- यहां क्लिक करें

इस पोस्ट को संक्षेप में इस प्रकार लिखें: