questa parola chiave in Java

⚡ Riepilogo intelligente

Java La parola chiave `this` indica una variabile di riferimento che punta all'oggetto corrente all'interno di un metodo o di un costruttore. LessLa nostra copertura comprende lo scopo, gli usi comuni, i conflitti di denominazione, l'incatenamento dei costruttori e un esempio pratico.

  • 🔑 Definizione: questo fa riferimento all'istanza corrente di una classe.
  • 🧱 Risolvi i conflitti: Utilizza questo campo per distinguere le variabili di istanza dai parametri con nomi identici.
  • 🪜 Uso da parte del costruttore: this() invoca un altro costruttore della stessa classe per un'inizializzazione più pulita.
  • Passaggio e ritorno: Invia questo come argomento o restituiscilo per supportare il concatenamento dei metodi.
  • 🧪 Esempio pratico: La classe Account mostra come questo risolve il problema dell'output nullo causato dall'ombreggiamento dei parametri.
  • 🤖 Assistenza AI: Gli strumenti di programmazione basati sull'intelligenza artificiale rilevano i prefissi "this" mancanti e suggeriscono refactoring accurati.

questa parola chiave in Java

In cosa consiste questa parola chiave? Java?

Migliori questa parola chiave in Java è una variabile di riferimento che fa riferimento all'oggetto corrente di un metodo o di un costruttore. Lo scopo principale dell'utilizzo di questa parola chiave in Java L'obiettivo è eliminare la confusione tra attributi di classe e parametri che hanno lo stesso nome.

Utilizzo di questa parola chiave in Java

Di seguito sono riportati vari usi della parola chiave this in Java:

  • Può essere utilizzato per fare riferimento alla variabile di istanza della classe corrente.
  • Può essere utilizzato per richiamare o inizializzare il costruttore della classe corrente.
  • Può essere passato come argomento in una chiamata di metodo.
  • Può essere passato come argomento nella chiamata al costruttore.
  • Può essere utilizzato per restituire l'istanza corrente della classe.

Clicchi Qui. se il video non è accessibile

Come comprendere questa parola chiave con un esempio

questa parola chiave in Java
Java questa parola chiave Esempio

  1. Classe: Conto di classe
  2. Variabile di istanza: a e b
  3. Metodo Impostare i dati: Per impostare il valore per a e b.
  4. Metodo Mostra dati: Per visualizzare i valori per a e b.
  5. Metodo principale: dove creiamo un oggetto per la classe Account e chiamiamo i metodi per impostare i dati e visualizzare i dati.

Attraversando la confusione dei compilatori

Compiliamo ed eseguiamo il codice.

Il nostro output atteso per A e B dovrebbe essere inizializzato rispettivamente sui valori 2 e 3.

Ma il valore è 0. Perché? Indaghiamo.

questa parola chiave in Java

Nel metodo Set data, gli argomenti sono dichiarati come a e b, mentre le variabili di istanza sono anch'esse denominate a e b.

questa parola chiave in Java

Durante l'esecuzione, il compilatore è indeciso se "a" a sinistra dell'operatore di assegnazione sia una variabile di istanza o una variabile locale. Pertanto, non imposta il valore di "a" quando viene chiamato il metodo set data.

questa parola chiave in Java

La soluzione è questa parola chiave.

Aggiungi sia “a” che “b” con il Java questa parola chiave seguita da un operatore punto (.).

questa parola chiave in Java

Durante l'esecuzione del codice, quando un oggetto chiama il metodo setdata, la parola chiave this viene sostituita dal gestore di oggetti "obj". (Vedi l'immagine qui sotto.)

questa parola chiave in Java

Quindi ora il compilatore lo sa,

  • La "a" sul lato sinistro è una variabile di istanza.
  • Mentre la “a” sul lato destro è una variabile locale.

Migliori variabili vengono inizializzati correttamente e viene visualizzato l'output previsto.

questa parola chiave in Java

Come il compilatore gestisce più oggetti

Supponiamo di scegliere nomi diversi per la variabile di istanza e per gli argomenti del metodo.

questa parola chiave in Java

Ma questa volta crei due oggetti della classe, ciascuno chiamando il metodo set data.

Come farà il compilatore a determinare se deve operare sulla variabile di istanza dell'oggetto 1 o dell'oggetto 2?

questa parola chiave in Java

Ebbene, il compilatore aggiunge implicitamente la variabile regola con questa parola chiave (immagine sotto).

questa parola chiave in Java

In modo tale che quando l'oggetto 1 chiama il metodo set data, una variabile di istanza viene aggiunta alla sua variabile di riferimento.

questa parola chiave in Java

Mentre l'oggetto 2 chiama il metodo set data, una variabile di istanza dell'oggetto 2 viene modificata.

questa parola chiave in Java

Il compilatore gestisce questo aspetto automaticamente. Non è necessario aggiungere esplicitamente la parola chiave `this` a meno che non si verifichi una situazione eccezionale che lo richieda.

Esempio: questa parola chiave in Java Con Code

Esempio: Per imparare a usare questa parola chiave.

Passo 1) Copia il seguente codice in un blocco 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();
 }
}

Passo 2) Salva, compila ed esegui il codice.

Passo 3) Il valore di a e b è mostrato come zero? Per correggere l'errore, aggiungi le righe 6 e 7 con il questo parola chiave.

this.a =a;
this.b =b;

Passo 4) Salva, compila ed esegui il codice. Questa volta, i valori di a e b sono impostati rispettivamente a 2 e 3.

DOMANDE FREQUENTI

La parola chiave `this` si riferisce all'oggetto corrente il cui metodo o costruttore è in esecuzione. Consente al codice di accedere ai campi e ai metodi dell'istanza di tale oggetto.

No. La parola chiave `this` appartiene a un'istanza, mentre i metodi statici esistono a livello di classe. Usare `this` all'interno di un metodo statico causa un errore in fase di compilazione.

La funzione `this()` invoca un altro costruttore della stessa classe della prima istruzione. In questo modo si evita la duplicazione del codice e si permette a un costruttore di delegare la configurazione a un altro costruttore sovraccaricato.

Gli assistenti di programmazione basati sull'IA segnalano i parametri nascosti, aggiungono il prefisso "this" mancante e riscrivono i costruttori per utilizzare la concatenazione "this()" e i metodi setter fluidi che restituiscono "this".

I tutor basati sull'IA spiegano l'identità degli oggetti, mostrano la differenza tra ambito di istanza e ambito locale e forniscono esempi passo passo con quiz che rafforzano l'apprendimento di quando utilizzare la parola chiave this.

Controlla il nostro articolo su Java Domande di un'intervista:- CLICCA QUI

Riassumi questo post con: