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.

  • 🔑 Definiție: aceasta face referire la instanța curentă a unei clase.
  • 🧱 Rezolvarea conflictelor: Folosește this.field pentru a distinge variabilele de instanță de parametrii cu nume identice.
  • 🪜 Utilizare constructor: this() invocă un alt constructor din aceeași clasă pentru inițializarea mai curată.
  • Trecere și returnare: Trimiteți acest lucru ca argument sau returnați-l pentru a oferi suport înlănțuirii metodelor.
  • 🧪 Exemplu lucrat: Clasa Account arată cum corectează acest lucru ieșirea zero cauzată de umbrirea parametrilor.
  • 🤖 Asistență AI: Instrumentele de codare bazate pe inteligență artificială detectează lipsa acestor prefixe și sugerează refactorizări precise.

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 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

acest cuvânt cheie în Java
Java acest exemplu de cuvinte cheie

  1. Clasă: Class Account
  2. Variabila de instanta: a și b
  3. Date set de metode: Pentru a seta valoarea pentru a și b.
  4. Metodă Afișați datele: Pentru a afișa valorile pentru a și b.
  5. 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.

acest cuvânt cheie în Java

În metoda Set data, argumentele sunt declarate ca a și b, în ​​timp ce variabilele de instanță sunt de asemenea denumite a și b.

acest cuvânt cheie în Java

Î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.

acest cuvânt cheie în Java

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 (.).

acest cuvânt cheie în Java

Î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.)

acest cuvânt cheie în Java

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.

acest cuvânt cheie în Java

Cum gestionează compilatorul mai multe obiecte

Să presupunem că alegeți nume diferite pentru variabila de instanță și argumentele metodei.

acest cuvânt cheie în Java

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?

acest cuvânt cheie în Java

Ei bine, compilatorul anexează implicit variabila de instanță cu cuvântul cheie this (imaginea de mai jos).

acest cuvânt cheie în Java

Astfel încât atunci când obiectul 1 apelează metoda set data, o variabilă de instanță este atașată de variabila sa de referință.

acest cuvânt cheie în Java

În timp ce obiectul 2 apelează metoda set data, o variabilă de instanță a obiectului 2 este modificată.

acest cuvânt cheie în Java

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

Cuvântul cheie `this` se referă la obiectul curent a cărui metodă sau constructor se execută. Acesta permite codului să acceseze câmpurile și metodele instanței obiectului respectiv.

Nu. Cuvântul cheie `this` aparține unei instanțe, în timp ce metodele statice există la nivel de clasă. Utilizarea `this` în cadrul unei metode statice provoacă o eroare la compilare.

this() invocă un alt constructor din aceeași clasă ca prima instrucțiune. Evită codul duplicat și permite unui constructor să delege configurarea către unul supraîncărcat.

Asistenții de codare AI semnalează parametrii umbriți, adaugă prefixul lipsă `this` și rescriu constructorii pentru a utiliza înlănțuirea `this()` și setterele fluente care returnează `this`.

Tutorii de inteligență artificială explică identitatea obiectelor, prezintă instanța versus domeniul de aplicare local și produc exemple pas cu pas, cu chestionare care întăresc momentul în care se utilizează cuvântul cheie „this”.

Verificați articolul nostru pe Java Întrebări la interviu: - Click aici

Rezumați această postare cu: