see märksõna sisse Java

Milles see märksõna on? Java?

see märksõna sisse Java on viitemuutuja, mis viitab meetodi või konstruktori praegusele objektile. Selle märksõna kasutamise peamine eesmärk Java eesmärk on kõrvaldada segadus klassi atribuutide ja samade nimedega parameetrite vahel.

Selle märksõna kasutamine Java

Järgnevalt on toodud märksõna „selle” erinevad kasutusviisid Java:

  • Seda saab kasutada praeguse klassi eksemplarimuutujale viitamiseks
  • Seda saab kasutada praeguse klassikonstruktori käivitamiseks või käivitamiseks
  • Seda saab meetodikutses argumendina edasi anda
  • Seda saab konstruktorikutses argumendina edasi anda
  • Seda saab kasutada praeguse klassi eksemplari tagastamiseks

Click siin kui video pole juurdepääsetav

Mõistke märksõna „see” näite abil.

see märksõna sisse Java
Java see märksõna Näide

  1. klass: klassi konto
  2. Eksemplari muutuja: a ja b
  3. Meetod Määra andmed: a ja b väärtuse määramiseks.
  4. Meetod Näita andmeid: a ja b väärtuste kuvamiseks.
  5. Peamine meetod: kus loome objekti Konto klassile ja kutsume meetodid seada andmeid ja näidata andmeid.

Kompileerime ja käivitame koodi

Meie eeldatav väljund A ja B jaoks tuleks lähtestada vastavalt väärtustele 2 ja 3.

Kuid väärtus on 0, miks? Lase uurida.

see märksõna sisse Java

Meetodis Set data deklareeritakse argumendid kui a ja b, samas kui eksemplari muutujaid nimetatakse ka a ja b.

see märksõna sisse Java

Täitmise ajal on kompilaator segaduses. Kas "a" määratud operaatori vasakul küljel on eksemplari muutuja või kohalik muutuja. Seega ei määra see meetodikomplekti andmete kutsumisel a väärtust.

see märksõna sisse Java

Lahenduseks on märksõna "see".

Lisage nii "a" kui "b" tähega Java sellele märksõnale järgneb punkt (.) operaator.

see märksõna sisse Java

Koodi täitmise ajal, kui objekt kutsub meetodit "setdata". Märksõna "see" asendatakse objektikäsitlejaga "obj". (Vaata allolevat pilti).

see märksõna sisse Java

Nüüd teab koostaja,

  • Vasakpoolses servas olev "a" on eksemplari muutuja.
  • Parempoolne "a" on kohalik muutuja

. muutujad on õigesti lähtestatud ja kuvatakse oodatav väljund.

see märksõna sisse Java

Oletame, et olete piisavalt tark, et valida eksemplari muutuja ja meetodite argumentidele erinevad nimed.

see märksõna sisse Java

Kuid seekord loote kaks klassi objekti, millest igaüks kutsub välja andmemäärangu meetodi.

Kuidas kompilaator määrab, kas see peaks töötama objekti 1 või objekti 2 eksemplarimuutujal.

see märksõna sisse Java

Noh, see on kompilaator lisab kaudselt eksemplari muutuja märksõnaga "see" (pilt allpool).

see märksõna sisse Java

Nii, et kui objekt 1 kutsub välja andmekomplekti meetodi, lisatakse eksemplari muutuja selle võrdlusmuutuja juurde.

see märksõna sisse Java

Sel ajal, kui objekt 2 kutsub välja andmekomplekti meetodi, muudetakse objekti 2 eksemplari muutujat.

see märksõna sisse Java

Selle protsessi eest hoolitseb kompilaator ise. Te ei pea seda märksõna selgesõnaliselt lisama, välja arvatud juhul, kui tegemist on erandliku olukorraga, nagu meie näites.

see märksõna sisse Java koos Näitega

Näide: Kasutage märksõna "see" õppimiseks

Step 1) Kopeerige järgmine kood märkmikusse.

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();
 }
}

Step 2) Salvestage, kompileerige ja käivitage kood.

Step 3) Kas a & b väärtus on näidatud nullina? Vea parandamiseks lisage read # 6 ja 7 "see” märksõna.

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

Step 4) Salvestage, kompileerige ja käivitage kood. Seekord on a & b väärtused seatud vastavalt 2 ja 3 peale.

kokkuvõte

  • see Märksõna sisse Java on viitemuutuja, mis viitab praegusele objektile.
  • Üks selle märksõna kasutusvõimalusi Java on viidata praegusele klassi eksemplari muutujale
  • Seda saab kasutada praeguse klassikonstruktori käivitamiseks või käivitamiseks
  • Seda saab meetodikutses argumendina edasi anda
  • see osuti sisse Java saab konstruktorikutses argumendina edasi anda
  • see operaator sisse Java saab kasutada praeguse klassi eksemplari tagastamiseks
  • see sisse Java on viide praegusele objektile, mille meetodit kasutatakse.
  • Saate kasutada "seda" märksõna, et vältida nimetamiskonflikte oma eksemplari/objekti meetodis/konstruktoris.

Vaadake meie artiklit Java Intervjuu küsimused: - Kliki siia