هذه الكلمة الرئيسية في Java
⚡ ملخص ذكي
Java هذه الكلمة المفتاحية هي متغير مرجعي يشير إلى الكائن الحالي داخل طريقة أو مُنشئ. Lessتغطي هذه المقالة الغرض والاستخدامات الشائعة وتعارضات التسمية وتسلسل المُنشئ ومثال عملي.

ما هي هذه الكلمة الرئيسية في Java?
استخدم هذه الكلمة الرئيسية في Java هو متغير مرجعي يشير إلى الكائن الحالي لطريقة أو مُنشئ. الغرض الرئيسي من استخدام هذه الكلمة الرئيسية في Java الهدف هو إزالة الالتباس بين سمات الفئة والمعلمات التي تحمل نفس الاسم.
استخدام هذه الكلمة الرئيسية في Java
فيما يلي استخدامات متنوعة لهذه الكلمة المفتاحية في Java:
- يمكن استخدامه للإشارة إلى متغير النسخة الخاص بالفئة الحالية.
- يمكن استخدامه لاستدعاء أو بدء مُنشئ الفئة الحالية.
- يمكن تمريره كوسيط في استدعاء دالة.
- يمكن تمريره كوسيط في استدعاء الدالة البانية.
- يمكن استخدامه لإرجاع نسخة الفئة الحالية.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
كيفية فهم هذه الكلمة المفتاحية من خلال مثال

- الفئه : حساب الطبقة
- المتغيرات الخاصة: أ و ب
- طريقة تعيين البيانات: لتعيين القيمة لـ a وb.
- طريقة عرض البيانات: لعرض القيم لـ a وb.
- الطريقة الرئيسية: حيث نقوم بإنشاء كائن لفئة الحساب واستدعاء أساليب تعيين البيانات وعرض البيانات.
السير عبر ارتباك المترجم
لنقم بتجميع وتشغيل الكود.
ينبغي تهيئة مخرجاتنا المتوقعة لـ A وB إلى القيمتين 2 و3 على التوالي.
لكن القيمة تساوي صفرًا. لماذا؟ دعونا نتحقق من الأمر.
في طريقة Set data، يتم تعريف الوسائط على أنها a و b، بينما يتم تسمية متغيرات النسخة أيضًا a و b.
أثناء التنفيذ، يقع المترجم في حيرة من أمره، إذ يتساءل عما إذا كان المتغير "a" الموجود على يسار عامل التعيين متغيرًا خاصًا بالمثيل أم متغيرًا محليًا. ولذلك، لا يتم تعيين قيمة "a" عند استدعاء الدالة set data.
الحل هو الكلمة المفتاحية this.
أضف كلاً من "أ" و "ب" مع Java هذه الكلمة الأساسية متبوعة بعامل النقطة (.)
أثناء تنفيذ التعليمات البرمجية، عندما يستدعي كائن ما الدالة setdata، يتم استبدال الكلمة المفتاحية this بمعالج الكائن "obj". (انظر الصورة أدناه.)
والآن يعرف المترجم،
- الحرف "a" الموجود على الجانب الأيسر هو متغير مثيل.
- بينما يمثل الحرف "a" الموجود على الجانب الأيمن متغيرًا محليًا.
استخدم المتغيرات تتم تهيئتها بشكل صحيح، ويتم عرض الإخراج المتوقع.
كيف يتعامل المترجم مع الكائنات المتعددة
لنفترض أنك اخترت أسماء مختلفة لمتغيرات الكائن ومعاملات الطريقة.
لكن هذه المرة، يمكنك إنشاء كائنين من الفئة، يستدعي كل منهما طريقة البيانات المحددة.
كيف سيحدد المترجم ما إذا كان من المفترض أن يعمل على متغير مثيل الكائن 1 أو الكائن 2؟
حسنا، المترجم يلحق ضمنيا متغير النسخة مع الكلمة المفتاحية this (الصورة أدناه).
بحيث أنه عندما يقوم الكائن 1 باستدعاء أسلوب مجموعة البيانات، يتم إلحاق متغير مثيل بواسطة المتغير المرجعي الخاص به.
بينما يقوم الكائن 2 باستدعاء أسلوب مجموعة البيانات، يتم تعديل متغير مثيل للكائن 2.
يتولى المترجم هذه العملية تلقائيًا. لا داعي لإضافة الكلمة المفتاحية 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 على التوالي.
الأسئلة الشائعة
تحقق من مقالتنا على Java أسئلة المقابلة:- اضغط هنا











