acest cuvânt cheie în Java
⚡ Rezumat inteligent
Java Acest cuvânt cheie este o variabilă de referință care indică obiectul curent din interiorul unei metode sau constructori. Lessons acoperă scopul, utilizările comune, conflictele de denumire, înlănțuirea constructorilor și un exemplu practic.

Î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 același nume.
Utilizarea acestui cuvânt cheie în Java
Următoarele sunt diverse utilizări ale cuvântului cheie „this” în Java:
- Poate fi folosit pentru a face referire la variabila de instanță a clasei curente.
- Poate fi folosit pentru a invoca sau iniția constructorul clasei curente.
- Poate fi transmis ca argument într-un apel de metodă.
- Poate fi transmis ca argument într-un apel al constructorului.
- Poate fi folosit pentru a returna instanța curentă a clasei.
Clic aici dacă videoclipul nu este accesibil
Cum să înțelegi 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 Account și apelăm metodele set data și show data.
Trecând prin confuzia compilatorului
Să compilăm ș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ă investigăm.
În metoda Set data, argumentele sunt declarate ca a și b, în timp ce variabilele de instanță sunt de asemenea denumite 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 este apelată metoda set data.
Soluția este cuvântul cheie `this`.
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 this este înlocuit de rubrica de tratare a obiectului „obj”. (Vezi imaginea de mai jos.)
Deci acum compilatorul știe,
- „A”-ul 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.
Cum gestionează compilatorul mai multe obiecte
Să presupunem că alegeți nume diferite pentru variabila de instanță și argumentele metodei.
Dar de data aceasta, creați două obiecte ale clasei, fiecare apelând metoda set data.
Cum va determina compilatorul dacă trebuie să lucreze asupra variabilei de instanță a obiectului 1 sau a obiectului 2?
Ei bine, compilatorul anexează implicit variabila de instanță cu cuvântul cheie this (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ă.
Compilatorul gestionează acest lucru automat. Nu trebuie să adăugați cuvântul cheie `this` în mod explicit, decât dacă o situație excepțională o impune.
Exemplu: acest cuvânt cheie în Java cu Code
Exemplu: Pentru a învăța utilizarea acestui cuvânt cheie.
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 liniile nr. 6 și 7 cu acest cuvinte cheie.
this.a =a; this.b =b;
Pas 4) Salvați, compilați și rulați codul. De data aceasta, valorile lui a și b sunt setate la 2, respectiv 3.
Întrebări frecvente
Verificați articolul nostru pe Java Întrebări la interviu: - Click aici











