java this keyword tutorial with code examples
यह ट्यूटोरियल जावा में एक विशेष कीवर्ड का वर्णन करता है Exam सरल कोड उदाहरणों के साथ विस्तार से। यह Key इस ’खोजशब्द का उपयोग कैसे, कब और कहाँ करता है:
इस ट्यूटोरियल में, हमने जावा - keyword इस ’कीवर्ड में एक महत्वपूर्ण अवधारणा पेश की है। हम 'इस' कीवर्ड के विवरण का पता लगाएंगे और जावा में इसके उपयोग के कुछ उदाहरण भी प्रस्तुत करेंगे।
जावा में कीवर्ड 'यह' एक संदर्भ चर है। संदर्भ चर 'यह' जावा कार्यक्रम में वर्तमान वस्तु को इंगित करता है । इसलिए यदि आप वर्तमान ऑब्जेक्ट के किसी भी सदस्य या फ़ंक्शन का उपयोग करना चाहते हैं, तो आप ऐसा इस 'संदर्भ' का उपयोग करके कर सकते हैं।
आप क्या सीखेंगे:
- जावा 'यह' परिचय
- जावा में To इस ’का उपयोग कब करें?
- ’इस’ का उपयोग कर पहुंच चर
- ‘इस 'विधि पैरामीटर के रूप में उत्तीर्ण
- 'इस' के साथ वर्तमान कक्षा विधि लागू करें
- 'इस' के साथ लौटें
- Struct इस 'का उपयोग वर्तमान वर्ग के निर्माता को आमंत्रित करने के लिए
- कंस्ट्रक्टर के लिए तर्क के रूप में 'इस' का उपयोग करना
- बार बार पूछे जाने वाले प्रश्न
- निष्कर्ष
जावा 'यह' परिचय
संदर्भ 'यह' आमतौर पर 'इस सूचक' के रूप में कहा जाता है क्योंकि यह वर्तमान वस्तु की ओर इशारा करता है। Parameters यह पॉइंटर ’तब उपयोगी होता है, जब क्लास की विशेषताओं और मापदंडों का कुछ नाम होता है। जब ऐसी स्थिति उत्पन्न होती है, तो poin यह पॉइंटर ’इस भ्रम को समाप्त कर देता है क्योंकि हम ter इस’ पॉइंटर का उपयोग करके मापदंडों तक पहुंच सकते हैं।
इस ट्यूटोरियल में, हम उदाहरणों के साथ विभिन्न स्थितियों में 'इस' पॉइंटर के उपयोग पर चर्चा करेंगे।
जावा में To इस ’का उपयोग कब करें?
जावा में Java इस ’शब्द के निम्नलिखित उपयोग हैं:
- संदर्भ 'इस' का उपयोग वर्ग उदाहरण चर तक पहुंचने के लिए किया जाता है।
- आप विधि कॉल में तर्क के रूप में इसे 'पास' भी कर सकते हैं।
- ‘इस’ का उपयोग वर्तमान वर्ग पद्धति को स्पष्ट रूप से लागू करने के लिए भी किया जा सकता है।
- यदि आप वर्तमान ऑब्जेक्ट को विधि से वापस करना चाहते हैं, तो 'इस' का उपयोग करें।
- यदि आप वर्तमान वर्ग निर्माता को आमंत्रित करना चाहते हैं, तो oke इस ’का उपयोग किया जा सकता है।
- निर्माता के पास तर्क के रूप में have यह ’भी हो सकता है।
आइए अब हम इनमें से प्रत्येक का अलग-अलग उपयोग करते हैं।
’इस’ का उपयोग कर पहुंच चर
कक्षा और विधि मापदंडों के उदाहरण चर एक ही नाम हो सकते हैं। ‘इस 'पॉइंटर का इस्तेमाल इससे निकलने वाली अस्पष्टता को दूर करने के लिए किया जा सकता है।
नीचे दिया गया जावा प्रोग्राम दर्शाता है कि कैसे '' का उपयोग उदाहरण चर तक पहुंच के लिए किया जा सकता है।
class this_Test { int val1; int val2; // Parameterized constructor this_Test(int val1, int val2) { this.val1 = val1 + val1; this.val2 = val2 + val2; } void display() { System.out.println('Value val1 = ' + val1 + ' Value val2 = ' + val2); } } class Main{ public static void main(String() args) { this_Test object = new this_Test(5,10); object.display(); } }
आउटपुट:
उपरोक्त कार्यक्रम में, आप देख सकते हैं कि उदाहरण चर और विधि पैरामीटर समान नाम साझा करते हैं। हम उदाहरण चर और विधि मापदंडों के बीच अंतर करने के लिए उदाहरण चर के साथ इस 'सूचक का उपयोग करते हैं।
‘इस 'विधि पैरामीटर के रूप में उत्तीर्ण
आप इस सूचक को विधि पैरामीटर के रूप में भी पास कर सकते हैं। इस सूचक को एक विधि पैरामीटर के रूप में पास करना आमतौर पर तब आवश्यक होता है जब आप घटनाओं से निपट रहे होते हैं। उदाहरण के लिए, मान लीजिए कि आप वर्तमान ऑब्जेक्ट / हैंडल पर किसी ईवेंट को ट्रिगर करना चाहते हैं, तो आपको इस पॉइंटर का उपयोग करके इसे ट्रिगर करना होगा।
नीचे एक प्रोग्रामिंग प्रदर्शनी दी गई है जिसमें हमने इस पॉइंटर को विधि से पास किया है।
class Test_method { int val1; int val2; Test_method() { val1 = 10; val2 = 20; } void printVal(Test_method obj) { System.out.println('val1 = ' + obj.val1 + ' val2 = ' + obj.val2); } void get() { printVal(this); } } class Main{ public static void main(String() args) { Test_method object = new Test_method(); object.get(); } }
आउटपुट:
इस कार्यक्रम में, हम मुख्य फ़ंक्शन में क्लास Test_method का ऑब्जेक्ट बनाते हैं और फिर इस ऑब्जेक्ट के साथ कॉल गेट () विधि प्राप्त करते हैं। गेट () विधि के अंदर, ’इस 'पॉइंटर को प्रिंटवाल () विधि में पारित किया जाता है जो वर्तमान आवृत्ति चर प्रदर्शित करता है।
'इस' के साथ वर्तमान कक्षा विधि लागू करें
जैसे आप इस 'पॉइंटर' को विधि से पास कर सकते हैं, वैसे ही आप इस पॉइंटर का उपयोग किसी विधि को लागू करने के लिए भी कर सकते हैं। यदि आप वर्तमान कक्षा की विधि को लागू करते समय इस सूचक को शामिल करना भूल जाते हैं, तो संकलक आपके लिए इसे जोड़ता है।
'इस' के साथ वर्ग विधि को लागू करने का एक उदाहरण नीचे दिया गया है।
class Test_this { void print() { // calling fuctionshow() this.show(); System.out.println('Test_this:: print'); } void show() { System.out.println('Test_this::show'); } } class Main{ public static void main(String args()) { Test_this t1 = new Test_this(); t1.print(); } }
आउटपुट:
इस कार्यक्रम में, क्लास विधि प्रिंट () इस पॉइंटर का उपयोग करके शो () विधि को कॉल करता है जब इसे मुख्य फ़ंक्शन में क्लास ऑब्जेक्ट द्वारा लागू किया जाता है।
'इस' के साथ लौटें
यदि विधि का वापसी प्रकार वर्तमान वर्ग का उद्देश्य है, तो आप आसानी से इस 'पॉइंटर' को वापस कर सकते हैं। दूसरे शब्दों में, आप 'ऑब्जेक्ट' पॉइंटर का उपयोग करके एक मौजूदा ऑब्जेक्ट को वापस कर सकते हैं।
नीचे दिए गए poin इस ’पॉइंटर का उपयोग करके किसी वस्तु को वापस करने का कार्यान्वयन है।
मोबाइल एप्लिकेशन का परीक्षण करते समय आपका दृष्टिकोण क्या है
class Test_this { int val_a; int val_b; //Default constructor Test_this() { val_a = 10; val_b = 20; } Test_this get() { return this; } void display() { System.out.println('val_a = ' + val_a + ' val_b = ' + val_b); } } class Main{ public static void main(String() args) { Test_this object = new Test_this(); object.get().display(); } }
आउटपुट:
उपर्युक्त कार्यक्रम से विधि प्राप्त होती है () जो इसे लौटाती है जो वर्ग Test_this का एक उद्देश्य है। वर्तमान वस्तु को प्राप्त () विधि द्वारा उपयोग करने पर विधि प्रदर्शन बदले में कहलाता है।
Struct इस 'का उपयोग वर्तमान वर्ग के निर्माता को आमंत्रित करने के लिए
आप वर्तमान क्लेयर के निर्माता को आमंत्रित करने के लिए 'इस' पॉइंटर का उपयोग कर सकते हैं। मूल विचार निर्माणकर्ता का पुन: उपयोग करना है। फिर से अगर आपकी कक्षा में एक से अधिक कंस्ट्रक्टर हैं, तो आप इन कंस्ट्रक्टरों को एक दूसरे से कॉल कर सकते हैं, जिसके परिणामस्वरूप कंस्ट्रक्टर चेनिंग होगा।
निम्नलिखित जावा कार्यक्रम पर विचार करें।
class This_construct { int val1; int val2; //Default constructor This_construct() { this(10, 20); System.out.println('Default constructor
'); } //Parameterized constructor This_construct(int val1, int val2) { this.val1 = val1; this.val2 = val2; System.out.println('Parameterized constructor'); } } class Main{ public static void main(String() args) { This_construct object = new This_construct(); } }
आउटपुट:
उपरोक्त कार्यक्रम में, हमारे पास कक्षा में दो निर्माता हैं। हम क्लास के डिफॉल्ट कंस्ट्रक्टर से poin इस ’पॉइंटर का उपयोग करके दूसरे कंस्ट्रक्टर को कॉल करते हैं।
कंस्ट्रक्टर के लिए तर्क के रूप में 'इस' का उपयोग करना
आप कंस्ट्रक्टर के तर्क के रूप में इस 'पॉइंटर को भी पास कर सकते हैं। यह तब अधिक सहायक होता है जब आपके पास निम्न कार्यान्वयन में दिखाए गए अनुसार कई कक्षाएं हों।
class Static_A { Static_B obj; Static_A(Static_B obj) { this.obj = obj; obj.display(); } } class Static_B { int x = 10; Static_B() { Static_A obj = new Static_A(this); } void display() { System.out.println('B::x = ' + x); } } class Main{ public static void main(String() args) { Static_B obj = new Static_B(); } }
आउटपुट:
जैसा कि उपरोक्त कार्यान्वयन में दिखाया गया है, हमारे पास दो वर्ग हैं और प्रत्येक वर्ग निर्माता दूसरे वर्ग के निर्माता को कॉल करता है। ‘इस 'पॉइंटर का उपयोग इस उद्देश्य के लिए किया जाता है।
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में इस और इस () के बीच क्या अंतर है?
उत्तर: जावा में, यह वर्तमान वस्तु को संदर्भित करता है जबकि यह () मिलान पैरामीटर के साथ निर्माणकर्ता को संदर्भित करता है। कीवर्ड 'यह' केवल वस्तुओं के साथ काम करता है। कॉल 'यह () 'का उपयोग एक ही वर्ग के एक से अधिक निर्माता को कॉल करने के लिए किया जाता है।
Q # 2) क्या यह कीवर्ड जावा में आवश्यक है?
उत्तर: यह विशेष रूप से आवश्यक है जब आपको वर्तमान ऑब्जेक्ट को एक विधि से दूसरे में या कंस्ट्रक्टरों के बीच पारित करने की आवश्यकता होती है या बस अन्य कार्यों के लिए वर्तमान ऑब्जेक्ट का उपयोग करें।
Q # 3) जावा में इस () और सुपर () के बीच क्या अंतर है?
उत्तर: यह दोनों () और सुपर () जावा में कीवर्ड हैं। जबकि यह () मिलान ऑब्जेक्ट के साथ वर्तमान वस्तु के निर्माता का प्रतिनिधित्व करता है, सुपर () मूल वर्ग के निर्माता का प्रतिनिधित्व करता है।
क्यू # 4) क्या आप एक कंस्ट्रक्टर में यह () और सुपर दोनों का उपयोग कर सकते हैं?
उत्तर: हां, आप इसका उपयोग कर सकते हैं। कंस्ट्रक्टर यह () वर्तमान कंस्ट्रक्टर को इंगित करेगा जबकि सुपर () पैरेंट क्लास कंस्ट्रक्टर को इंगित करेगा। याद रखें कि यह () और सुपर () दोनों पहला कथन होना चाहिए।
निष्कर्ष
कीवर्ड 'यह' जावा कार्यक्रम की वर्तमान वस्तु का संदर्भ है। इसका उपयोग वर्ग चर (उदाहरण चर) और विधि मापदंडों के लिए समान नामों के परिणामस्वरूप होने वाले भ्रम से बचने के लिए किया जा सकता है।
आप 'इस' पॉइंटर का उपयोग कई तरह से कर सकते हैं जैसे इंस्टेंस चर एक्सेस करना, विधि या कंस्ट्रक्टर के लिए तर्क पास करना, ऑब्जेक्ट को वापस करना आदि। पॉइंटर 'यह' जावा में एक महत्वपूर्ण कीवर्ड है और करंट ऑब्जेक्ट को एक्सेस करने के लिए एक उपयोगी फीचर है। इसके सदस्य और कार्य।
हमें उम्मीद है कि आपने इस ट्यूटोरियल में जावा में you इस 'कीवर्ड के उपयोग का अनुसरण किया है।
अनुशंसित पाठ
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल
- कोड उदाहरणों के साथ C # अपवाद हैंडलिंग ट्यूटोरियल
- उदाहरणों के साथ अजगर डेटाइम ट्यूटोरियल
- कोड उदाहरण के साथ सी # कार्य / तरीके ट्यूटोरियल
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- जावा कलेक्शंस फ्रेमवर्क (JCF) ट्यूटोरियल
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल