Koja je ovo ključna riječ u Javi?
ova je ključna riječ u Javi referentna varijabla koja se odnosi na trenutni objekt metode ili konstruktora. Glavna svrha upotrebe ove ključne riječi u Javi je uklanjanje zabune između atributa klase i parametara koji imaju ista imena.
Slijede razne upotrebe ključne riječi 'this' u Javi:
- Može se koristiti za upućivanje na varijablu instance trenutne klase
- Može se koristiti za pozivanje ili pokretanje konstruktora trenutne klase
- Može se proslijediti kao argument u pozivu metode
- Može se proslijediti kao argument u pozivu konstruktora
- Može se koristiti za vraćanje trenutne instance klase
Kliknite ovdje ako videozapis nije dostupan
Razumijevanje ključne riječi "ovaj" na primjeru.
- Razred : razred Račun
- Varijabla instance : a i b
- Metoda Postavljanje podataka : za postavljanje vrijednosti za a i b.
- Metoda Prikaz podataka : Za prikaz vrijednosti za a i b.
- Glavna metoda: gdje stvaramo objekt za klasu Račun i metode poziva postavljaju podatke i prikazuju podatke.
Sastavimo i pokrenimo kod
Naš očekivani izlaz za A i B treba inicijalizirati na vrijednosti 2 odnosno 3.
Ali vrijednost je 0, zašto? Neka istraže.
U metodi Set podataka, argumenti su deklarirani kao a i b, dok su varijable instance također imenovane kao a i b.
Tijekom izvršavanja kompajler je zbunjen. Je li "a" na lijevoj strani dodijeljenog operatora varijabla instance ili lokalna varijabla. Stoga ne postavlja vrijednost 'a' kada se pozivaju podaci skupa metoda.
Rješenje je ključna riječ "this"
Dodajte i 'a' i 'b' Javi ovu ključnu riječ iza koje slijedi točka (.) Operator.
Tijekom izvršavanja koda kada objekt pozove metodu 'setdata'. Ključna riječ 'ovo' zamjenjuje se upravljačem objektima "obj". (Pogledajte sliku dolje).
Dakle, sada kompajler zna,
- 'A' na lijevoj strani je varijabla instance.
- Dok je 'a' s desne strane lokalna varijabla
Varijable su pravilno inicijalizirane i prikazan je očekivani izlaz.
Pretpostavimo da ste dovoljno pametni da odaberete različita imena za svoju varijablu instance i argumente metoda.
Ali ovaj put stvorite dva objekta klase, od kojih svaki poziva metodu postavljenih podataka.
Kako će kompajler odrediti treba li raditi na varijabli instance objekta 1 ili objekta 2.
Pa, kompajler implicitno dodaje varijablu instance s ključnom riječi "this" (slika ispod).
Takav da kada objekt 1 poziva metodu postavljenih podataka, varijabla instance dodaje se svojom referentnom varijablom.
Dok objekt 2 poziva metodu postavljenih podataka, varijabla instance objekta 2 se mijenja.
O ovom se procesu brine sam sastavljač. Ključnu riječ 'this' ne morate dodavati izričito, osim ako postoji izvanredna situacija kao u našem primjeru.
Primjer: Da biste naučili koristiti ključnu riječ "this"
Korak 1) Kopirajte sljedeći kod u bilježnicu.
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();}}
Korak 2) Spremite, prevedite i pokrenite kôd.
Korak 3) Vrijednost a & b prikazana je kao nula? Da biste ispravili pogrešku, dodajte retke # 6 i 7 s ključnom riječi " this ".
this.a =a;this.b =b;
Korak 4) Spremite, prevedite i pokrenite kôd. Ovaj put su vrijednosti a & b postavljene na 2 i 3.
Sažetak
- ova je ključna riječ u Javi referentna varijabla koja se odnosi na trenutni objekt.
- Jedna od upotreba ove ključne riječi u Javi je upućivanje na trenutnu varijablu instance klase
- Može se koristiti za pozivanje ili pokretanje konstruktora trenutne klase
- Može se proslijediti kao argument u pozivu metode
- ovaj se pokazivač u Javi može proslijediti kao argument u pozivu konstruktora
- ovaj se operator u Javi može koristiti za vraćanje trenutne instance klase
- ovo u Javi je referenca na trenutni objekt čija se metoda poziva.
- Možete upotrijebiti ključnu riječ "this" da biste izbjegli sukobe imenovanja u metodi / konstruktoru vaše instance / objekta.