Šis raktinis žodis „Java“: kas yra & Kaip naudoti su pavyzdžiu

Kas yra šis „Java“ raktinis žodis?

šis „Java“ raktinis žodis yra nuorodinis kintamasis, nurodantis dabartinį metodo objektą ar konstruktorių. Pagrindinis šio raktinio žodžio naudojimo „Java“ tikslas yra pašalinti painiavą tarp klasės atributų ir parametrų, turinčių tuos pačius pavadinimus.

Toliau pateikiami įvairūs „šio“ raktinio žodžio „Java“ naudojimo būdai:

  • Jis gali būti naudojamas nurodant dabartinės klasės egzempliorių kintamąjį
  • Jis gali būti naudojamas dabartinės klasės konstruktoriui iškviesti ar inicijuoti
  • Jis gali būti perduotas kaip metodo iškvietimo argumentas
  • Jis gali būti perduotas kaip argumentas konstruktoriaus kvietime
  • Juo galima grąžinti dabartinį klasės egzempliorių

Spustelėkite čia, jei vaizdo įrašas nepasiekiamas

Supraskite „šį“ raktinį žodį su pavyzdžiu.

Java šį raktinį žodį Pavyzdys
  1. Klasė : klasės sąskaita
  2. Egzemplioriaus kintamasis : a ir b
  3. Metodas Nustatyti duomenis : norėdami nustatyti a ir b vertes.
  4. Metodas Rodyti duomenis : rodyti a ir b reikšmes.
  5. Pagrindinis metodas: kurdami objektą sąskaitos klasei ir skambučių metodams nustatome duomenis ir rodome duomenis.

Sudarykime ir paleiskime kodą

Mūsų laukiama A ir B išvestis turėtų būti atitinkamai 2 ir 3 reikšmės.

Bet vertė yra 0, kodėl? Tegul tiria.

Metode „Set data“ argumentai deklaruojami kaip a ir b, o egzempliorių kintamieji taip pat įvardijami kaip a ir b.

Vykdymo metu kompiliatorius yra painiojamas. Ar kairėje priskirtojo operatoriaus pusėje „a“ yra egzemplioriaus kintamasis, ar vietinis kintamasis. Vadinasi, ji nenustato „a“ vertės, kai iškviečiami metodo rinkinio duomenys.

Sprendimas yra raktinis žodis „šis“

Pridėkite „a“ ir „b“ su „Java“ šį raktinį žodį, po kurio nurodomas taško (.) Operatorius.

Vykdant kodą, kai objektas vadina metodą „setdata“. Raktinis žodis „tai“ pakeičiamas objekto tvarkytoju „obj“. (Žiūrėkite paveikslėlį žemiau).

Taigi dabar kompiliatorius žino,

  • Kairėje pusėje esantis „a“ yra egzemplioriaus kintamasis.
  • Dešinėje pusėje esantis „a“ yra vietinis kintamasis

Kintamieji inicijuojami teisingai ir rodoma laukiama išvestis.

Tarkime, kad esate pakankamai protingas, kad pasirinktumėte skirtingus egzemplioriaus kintamojo ir metodų argumentų pavadinimus.

Tačiau šį kartą sukursite du klasės objektus, kurių kiekvienas paskambinsite nustatytų duomenų metodu.

Kaip kompiliatorius nustatys, ar jis turėtų veikti 1 objekto ar 2 objekto egzemplioriuje.

Na, kompiliatorius implicitiškai prideda egzemplioriaus kintamąjį su „this“ raktiniu žodžiu (paveikslėlis žemiau).

Toks, kad kai objektas 1 iškviečia nustatytų duomenų metodą, egzemplioriaus kintamasis pridedamas prie jo pamatinio kintamojo.

Kol objektas 2 kviečia nustatytų duomenų metodą, modifikuojamas 2 objekto egzemplioriaus kintamasis.

Šiuo procesu rūpinasi pats kompiliatorius. Jums nereikia aiškiai pridėti „šio“ raktinio žodžio, nebent yra išskirtinė situacija, kaip tai yra mūsų pavyzdyje.

Pavyzdys: jei norite sužinoti, kaip naudoti šį žodį

1 žingsnis. Nukopijuokite šį kodą į bloknotą.

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 žingsnis) Išsaugokite, kompiliuokite ir paleiskite kodą.
3 žingsnis) a & b vertė rodoma kaip nulis? Norėdami ištaisyti klaidą, pridėkite 6 ir 7 eilutes su žodžiu „ šis “.

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

4 žingsnis) Išsaugokite, kompiliuokite ir paleiskite kodą. Šį kartą a & b reikšmės nustatomos atitinkamai į 2 ir 3.

Santrauka

  • šis „Java“ raktinis žodis yra nuorodinis kintamasis, nurodantis dabartinį objektą.
  • Vienas iš šio raktinio žodžio naudojimo „Java“ yra nurodyti dabartinį klasės egzempliorių kintamąjį
  • Jis gali būti naudojamas dabartinės klasės konstruktoriui iškviesti ar inicijuoti
  • Jis gali būti perduotas kaip metodo iškvietimo argumentas
  • šis „Java“ žymeklis gali būti perduotas kaip argumentas konstruktoriaus kvietime
  • šis „Java“ operatorius gali būti naudojamas dabartinei klasės egzemplioriui grąžinti
  • tai „Java“ yra nuoroda į dabartinį objektą, kurio metodas yra naudojamas.
  • Galite naudoti „šį“ raktinį žodį, kad išvengtumėte vardų konfliktų jūsų egzemplioriaus / objekto metodo / konstruktoriaus sudėtyje.

Įdomios straipsniai...