ovu ključnu riječ u Java
U čemu je ova ključna riječ Java?
ova ključna riječ u Java je referentna varijabla koja se odnosi na trenutni objekt metode ili konstruktora. Glavna svrha korištenja ove ključne riječi u Java je ukloniti zabunu između atributa klase i parametara koji imaju ista imena.
Upotreba ove ključne riječi u Java
Slijede različite upotrebe ključne riječi 'this' u Java:
- Može se koristiti za referenciranje varijable instance trenutne klase
- Može se koristiti za pozivanje ili pokretanje trenutnog konstruktora 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 video nije dostupan
Razumite ključnu riječ "ovaj" na primjeru.
- Klasa: račun klase
- Varijabla instance: a i b
- Metoda Set podataka: Za postavljanje vrijednosti za a i b.
- Metoda Prikaži podatke: Za prikaz vrijednosti za a i b.
- Glavna metoda: gdje kreiramo objekt za klasu računa i pozivamo metode skupa podataka i prikaza podataka.
Prevedimo i pokrenimo kod
Naš očekivani izlaz za A i B treba se inicijalizirati na vrijednosti 2 odnosno 3.
Ali vrijednost je 0, zašto? Neka se istraži.
U metodi Set data, argumenti su deklarirani kao a i b, dok su varijable instance također imenovane kao a i b.
Tijekom izvođenja, prevodilac je zbunjen. Je li "a" na lijevoj strani dodijeljenog operatora varijabla instance ili lokalna varijabla. Dakle, ne postavlja vrijednost 'a' kada se pozivaju podaci skupa metode.
Rješenje je ključna riječ "ovo".
Dodajte i 'a' i 'b' s Java ovu ključnu riječ iza koje slijedi operator točka (.).
Tijekom izvođenja koda kada objekt poziva metodu 'setdata'. Ključna riječ 'this' zamijenjena je rukovateljem objekta "obj." (Pogledajte sliku ispod).
Sada kompajler zna,
- 'A' na lijevoj strani je varijabla instance.
- Dok je 'a' na desnoj strani lokalna varijabla
The varijable su ispravno inicijalizirani 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 stvarate dva objekta klase, od kojih svaki poziva metodu skupa podataka.
Kako će kompajler odrediti treba li raditi na varijabli instance objekta 1 ili objekta 2.
Pa, prevodilac implicitno dodaje varijablu instance s ključnom riječi "ovo" (slika ispod).
Tako da kada objekt 1 poziva metodu skupa podataka, varijabli instance se dodaje njezina referentna varijabla.
Dok objekt 2 poziva metodu skupa podataka, varijabla instance objekta 2 se modificira.
Za ovaj se proces brine sam kompilator. Ne morate izričito dodati 'ovu' ključnu riječ osim ako ne postoji iznimna situacija kao u našem primjeru.
ovu ključnu riječ u Java s Primjerom
Primjer: Kako biste naučili koristiti ključnu riječ "ovaj".
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, kompajlirajte i pokrenite kod.
Korak 3) Vrijednost a & b je prikazana kao nula? Da biste ispravili pogrešku, dodajte redak # 6 i 7 s "to” ključna riječ.
this.a =a; this.b =b;
Korak 4) Spremite, prevedite i pokrenite kod. Ovaj put, vrijednosti a & b postavljene su na 2 i 3 redom.
Rezime
- to Ključna riječ u Java je referentna varijabla koja se odnosi na trenutni objekt.
- Jedna od upotreba ove ključne riječi u Java je uputiti na varijablu instance trenutne klase
- Može se koristiti za pozivanje ili pokretanje trenutnog konstruktora klase
- Može se proslijediti kao argument u pozivu metode
- ovaj pokazivač unutra Java može se proslijediti kao argument u pozivu konstruktora
- ovaj operater u Java može se koristiti za vraćanje trenutne instance klase
- ovo u Java je referenca na trenutni objekt, čija se metoda poziva.
- Možete koristiti ključnu riječ "ovaj" kako biste izbjegli sukobe naziva u metodi/konstruktoru vaše instance/objekta.
Provjerite naš članak o Java Pitanja za intervju:- Kliknite ovdje