هذه كلمة أساسية في Java تمثل كائنًا. يمكن أن يظهر هذا في أساليب المثيل والمنشئات، ولكن ليس في أساليب الفصل.
استخدم هذا في المنشئ
عندما تظهر الكلمة الأساسية this في منشئ الفصل، فإنها تمثل الكائن الذي تم إنشاؤه باستخدام هذا المُنشئ.
على سبيل المثال:
publicclassPeople{intleg,hand;Stringname;People(Strings){name=s;this.init();// يمكن حذف هذا، أي كتابته كـ init();}voidinit(){leg=2;hand =2;System .out.println(name+have+hand+hand+1eg+leg);}publicstaticvoidmain(Stringargs[]){Peopleboshi=newPeople(Bush);}}
استخدام هذا في أساليب المثال
لا يمكن استدعاء أساليب المثيل إلا من خلال الكائن، وليس من خلال اسم الفئة. عندما تظهر الكلمة الأساسية this في أسلوب مثيل، فإنها تمثل الكائن الحالي الذي يستدعي الأسلوب.
يمكن لطرق المثيل تشغيل متغيرات أعضاء الفئة عندما تظهر متغيرات أعضاء المثيل في أسلوب المثيل، يكون التنسيق العام هو:
متغير هذا العضو؛
عندما تظهر متغيرات الأعضاء الثابتة في أساليب المثيل، يكون التنسيق العام هو:
اسم الفئة. متغير العضو؛
على سبيل المثال:
classA{intx;staticinty;voida(){this.x=10;Ay=20;}}
يظهر هذا في طريقة المثيل a في الفئة A. وهذا يمثل الكائن الحالي باستخدام a، لذلك يمثل "this.x" المتغير x للكائن الحالي. عندما يستدعي الكائن الطريقة a، يتم تعيين 10 لمتغير الكائن س. عندما يستدعي كائن طريقة ما، تشير متغيرات عضو المثيل في الطريقة إلى متغيرات عضو المثيل المخصصة للكائن، وتتم مشاركة المتغيرات الثابتة مع كائنات أخرى. ولذلك، في ظل الظروف العادية، يمكنك حذف "هذا" أمام اسم متغير عضو المثيل و"اسم الفئة" أمام المتغير الثابت.
على سبيل المثال:
classA{intx;staticinty;voida(){x=10;//احذف this.y=20;//احذف اسم الفصل.}}
يلاحظ:
عندما يكون اسم متغير عضو المثيل هو نفس اسم المتغير المحلي، لا يمكن حذف "هذا." أو "اسم الفئة".
يمكن لطرق مثيل فئة ما استدعاء طرق أخرى للفئة التنسيق العام لاستدعاء أساليب المثيل هو:
this.method;
التنسيق العام لاستدعاءات أسلوب الفصل هو:
classname.method;
على سبيل المثال:
classB{voidb(){this.c();Bd();}voidc(){System.out.println(hi);}staticvoidd(){System.out.println(ok);}}
يظهر هذا في الطريقة b في الفئة B، وهذا يمثل الكائن الحالي الذي يستدعي الطريقة b، لذا فإن this.c() في نص الطريقة b هو الكائن الحالي الذي يستدعي الطريقة c، أي استدعاء الطريقة على كائن معين كائن في عملية b، يتم استدعاء الطريقة c مرة أخرى. نظرًا لأن هذه العلاقة المنطقية واضحة جدًا، فعندما تستدعي إحدى الطرق طريقة أخرى، يمكنك حذف "هذا" أو "اسم الفئة".
على سبيل المثال:
classB{voidb(){c();// حذف this.d();// حذف اسم الفئة.}voidc(){System.out.println(hi);}staticvoidd(){System.out.println ( نعم)؛}}
يلاحظ:
لا يمكن أن يظهر هذا في أساليب الفصل لأنه يمكن استدعاء أساليب الفصل مباشرة من خلال اسم الفصل، وربما لم يتم إنشاء أي كائن بعد.