هذه الكلمة الرئيسية هي مفهوم أعتقد أنه من الصعب للغاية فهمه في Java. :) ربما يكون ذلك لأنه غبي للغاية
معنى هذه الكلمة الرئيسية: يمكن إنشاء مقبض مماثل للكائن الذي تسمى الطريقة.
كيف تفهم هذا المقطع؟
هناك مثل هذا مثال على التفكير في جافا
هناك كائنان من نفس النوع ، يسمى A و B ، على التوالي. فكيف نميز بين من يسمي هذه الطريقة عند استدعاء طريقة F ()؟
على سبيل المثال:
class class banana {void f (int i) {/*** method body *****/}} banana a = new Banana () ؛ // regly banana object abanana b = new banana () ؛ // إنشاء كائن الموز ba.f (1) ؛ bf (2) ؛فكيف يعرف المترجم وظيفة الكائن F () الذي تتصل به؟ في الواقع ، يجب أن يكون النقل عن بعد وراء الكواليس:
AF (1) << ==== >> banana.f (a ، 1) ؛ bf (1) << === >> banana.f (b ، 2) ؛
أنا أفهمها على النحو التالي: عند إنشاء كائن موز أ. عند استدعاء طريقة f () من A ، سيتم إنشاء مقبض يشير إلى هذا الكائن في نفس الوقت.
إليكم هذا الكائن الذي يشير إلى الموز الجديد () أو هذا يعادل التعامل مع A ؛ هذا "==" أ ؛
عندما نكون داخل طريقة. ونأمل في الحصول على مقبض الكائن الحالي. نظرًا لأن هذا المقبض يتم تمريره سراً بواسطة المترجم ، فلا يوجد رمز واضح لتحديده. في هذا الوقت ، يمكننا استخدام الكلمة الرئيسية هذا
المعنى الشائع لهذا: بغض النظر عن المكالمات التي تم إنشاؤها التي تم إنشاؤها هذه الطريقة ، سيتم إنشاء مؤشر لهذا الكائن.
أمثلة كلاسيكية في التفكير في جافا:
ورقة الفئة العامة {private int i = 0 ؛ leaf zerrement () {i ++ ؛ report this ؛} void print () {systme.out.println ("i ="+i) ؛ public static void main (string []1. إنشاء مقبض X للكائن ؛ تنسيق بناء الجملة هو الورقة X ؛
2. إنشاء كائن فئة ورقة. تنسيق بناء الجملة هو ورقة جديدة () ؛
3. إنشاء اتصال بين المقبض والكائن ؛ بناء الجملة هو x = ورقة جديدة () ؛
4. استدعاء طريقة زيادة () في الكائن New Leaf () ؛ بناء الجملة هو x.increment ()
× × × من أطلق على الطريقة زيادة ()؟ إنه كائن x (أو ورقة جديدة ()) من فئة الأوراق ، وبالتالي فإن النظام المقابل سيولد مرجعًا هذا ويوجهه سراً إلى x أو كائن NEW LEAF () ، لذا فإن الزيادة () إرجاع إشارة إلى x! إنه عنوان ذاكرة. يمكننا طباعته ورؤيته!
المحتوى أعلاه هو معرفة هذه الكلمة الرئيسية في Java التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك!