See märksõna Java keeles: Mis on & Kuidas kasutada koos näitega

Lang L: none (table-of-contents):

Anonim

Mis see Java märksõna on?

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

Järgnevad on selle "märksõna" erinevad kasutusalad Java-s:

  • Seda saab kasutada praeguse klassi eksemplari muutuja viitamiseks
  • Seda saab kasutada praeguse klassi konstruktori kutsumiseks või käivitamiseks
  • Selle saab edastada argumendina meetodikutses
  • Selle saab edastada argumendina konstruktori kõnes
  • Seda saab kasutada praeguse klassieksemplari tagastamiseks

Kui videole pole juurdepääsu, klõpsake siin

Mõistke selle märksõna näitega.

Java see märksõna Näide
  1. Klass : klassi konto
  2. Eksemplari muutuja : a ja b
  3. Meetod Andmete määramine: a ja b väärtuse määramiseks.
  4. Meetod Kuva andmed : a ja b väärtuste kuvamiseks.
  5. Peamine meetod: kus loome objekti kontoklassi jaoks ja kõnemeetodid määravad andmed ja näitavad andmeid.

Koostame 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? Las uurib.

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

Käivitamise ajal on kompilaator segaduses. See, kas määratud operaatori vasakul küljel olev "a" on eksemplari muutuja või kohalik muutuja. Seega ei määra see meetodi aadressi kutsumisel väärtust a.

Lahendus on märksõna "see"

Lisage selle märksõnaga Java-ga nii a kui ka b, millele järgneb punkti (.) Operaator.

Koodi käivitamise ajal, kui objekt kutsub meetodit 'setdata'. Märksõna 'see' asendatakse objektihalduriga "obj". (Vaata allolevat pilti).

Nüüd teab koostaja,

  • Vasakul olev täht a on eksemplari muutuja.
  • Parempoolsel küljel olev a on kohalik muutuja

Muutujad lähtestatakse õigesti ja näidatakse eeldatavat väljundit.

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

Kuid seekord loote kaks klassi objekti, millest igaüks kutsub määratud andmete meetodit.

Kuidas kompilaator otsustab, kas see peaks töötama objekti 1 või objekti 2 muutujaga.

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

Selliselt, et kui objekt 1 kutsub määratud andmemeetodit, lisatakse eksemplari muutuja selle võrdlusmuutujaga.

Samal ajal kui objekt 2 kutsub määratud andmemeetodit, muudetakse objekti 2 eksemplari muutujat.

Selle protsessi eest hoolitseb kompilaator ise. Te ei pea seda märksõna selgesõnaliselt lisama, kui pole erandlikku olukorda nagu meie näites.

Näide: selle märksõna kasutamise õppimiseks

Samm 1) Kopeerige järgmine kood märkmikku.

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

Samm 2) Salvestage, kompileerige ja käivitage kood.
3. samm . A & b väärtus on null? Vea parandamiseks lisage read 6 ja 7 märksõnaga „ see ”.

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

4. samm. Salvestage, kompileerige ja käivitage kood. Seekord seatakse a & b väärtuseks vastavalt 2 ja 3.

Kokkuvõte

  • see Java märksõna on viitemuutuja, mis viitab praegusele objektile.
  • Selle märksõna üks kasutus Java-s on viidata praegusele klassieksemplari muutujale
  • Seda saab kasutada praeguse klassi konstruktori kutsumiseks või käivitamiseks
  • Selle saab edastada argumendina meetodikutses
  • selle Java-osuti saab konstruktori kõnes argumendina edastada
  • seda Java-operaatorit saab kasutada praeguse klassieksemplari tagastamiseks
  • see Java-s on viide praegusele objektile, mille meetodit kasutatakse.
  • Märksõna "see" abil saate vältida eksemplari / objekti meetodis / konstruktoris nimede konflikte.