acest cuvânt cheie în Java
În ce este acest cuvânt cheie Java?
acest cuvânt cheie în Java este o variabilă de referință care se referă la obiectul curent al unei metode sau al unui constructor. Scopul principal al folosirii acestui cuvânt cheie în Java este de a elimina confuzia dintre atributele clasei și parametrii care au aceleași nume.
Utilizarea acestui cuvânt cheie în Java
Următoarele sunt diverse utilizări ale cuvântului cheie „acest” în Java:
- Poate fi folosit pentru a trimite variabila de instanță a clasei curente
- Poate fi folosit pentru a invoca sau a iniția constructorul de clasă curent
- Poate fi transmis ca argument în apelul de metodă
- Poate fi transmis ca argument în apelul constructorului
- Poate fi folosit pentru a returna instanța curentă a clasei
Clic aici dacă videoclipul nu este accesibil
Înțelegeți „acest” cuvânt cheie cu un exemplu.
- Clasă: Class Account
- Variabila de instanta: a și b
- Date set de metode: Pentru a seta valoarea pentru a și b.
- Metodă Afișați datele: Pentru a afișa valorile pentru a și b.
- Metoda principala: unde creăm un obiect pentru Clasa de cont și metodele de apel setează date și arată datele.
Să compilam și să rulăm codul
Ieșirea noastră așteptată pentru A și B ar trebui să fie inițializată la valorile 2 și, respectiv, 3.
Dar valoarea este 0, de ce? Să investigheze.
În metoda Set data, argumentele sunt declarate ca a și b, în timp ce variabilele de instanță sunt denumite și ca a și b.
În timpul execuției, compilatorul este confuz. Dacă „a” din partea stângă a operatorului atribuit este variabila de instanță sau variabila locală. Prin urmare, nu setează valoarea lui „a” atunci când sunt apelate datele setului de metode.
Soluția este cuvântul cheie „acest”.
Adăugați atât „a” cât și „b” cu Java acest cuvânt cheie urmat de un operator punct (.).
În timpul execuției codului, când un obiect apelează metoda „setdata”. Cuvântul cheie „acest” este înlocuit cu handlerul de obiecte „obj”. (Vezi imaginea de mai jos).
Deci acum compilatorul știe,
- „a” din partea stângă este o variabilă de instanță.
- În timp ce „a” din partea dreaptă este o variabilă locală
variabile sunt inițializate corect și este afișată rezultatul așteptat.
Să presupunem că ești suficient de inteligent pentru a alege nume diferite pentru variabila de instanță și argumentele metodelor.
Dar de data aceasta, creați două obiecte ale clasei, fiecare apelând metoda set data.
Cum va determina compilatorul dacă ar trebui să funcționeze pe variabila de instanță a obiectului 1 sau a obiectului 2.
Ei bine, compilatorul anexează implicit variabila de instanță cu cuvântul cheie „acest” (imaginea de mai jos).
Astfel încât atunci când obiectul 1 apelează metoda set data, o variabilă de instanță este atașată de variabila sa de referință.
În timp ce obiectul 2 apelează metoda set data, o variabilă de instanță a obiectului 2 este modificată.
Acest proces este îngrijit de compilator însuși. Nu trebuie să adăugați în mod explicit „acest” cuvânt cheie decât dacă există o situație excepțională, ca în exemplul nostru.
acest cuvânt cheie în Java cu Exemplu
Exemplu: Pentru a învăța folosiți cuvântul cheie „acest”.
Pas 1) Copiați următorul cod într-un bloc de note.
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(); } }
Pas 2) Salvați, compilați și rulați codul.
Pas 3) Valoarea lui a și b este afișată ca zero? Pentru a corecta eroarea, adăugați linia # 6 și 7 cu „acest” cuvânt cheie.
this.a =a; this.b =b;
Pas 4) Salvați, compilați și rulați codul. De data aceasta, valorile a și b sunt setate la 2 și, respectiv, 3.
Rezumat
- acest Cuvânt cheie în Java este o variabilă de referință care se referă la obiectul curent.
- Una dintre utilizarea acestui cuvânt cheie în Java este de a trimite variabila de instanță a clasei curente
- Poate fi folosit pentru a invoca sau a iniția constructorul de clasă curent
- Poate fi transmis ca argument în apelul de metodă
- acest indicator în Java poate fi transmis ca argument în apelul constructorului
- acest operator în Java poate fi folosit pentru a returna instanța curentă a clasei
- asta în Java este o referință la obiectul curent, a cărui metodă este apelată.
- Puteți utiliza cuvântul cheie „acest” pentru a evita conflictele de denumire în metoda/constructorul instanței/obiectului dumneavoastră.
Verificați articolul nostru pe Java Întrebări la interviu: - Click aici