Cosa significa questo in Java?

Cosa significa questo in Java?
Come sappiamo, Java è un linguaggio orientato agli oggetti che utilizza classi, oggetti e variabili per scrivere un codice per un problema. Quindi, mentre lavorano su progetti grandi e complessi, gli sviluppatori creano le variabili di istanza, i costruttori e le classi con lo stesso nome per rendere il codice facilmente comprensibile. In questo modo, il compilatore non restituisce l'output previsto.

Ora la domanda è come evitiamo questo problema e differenziamo tra le variabili di istanza, le variabili locali, i costruttori e le classi con lo stesso nome? La risposta è molto semplice; Possiamo risolverlo con l'aiuto di "Questo" parola chiave.

Questo post spiega la funzionalità del "Questo"Parola chiave in Java.

Cosa significa questo in Java?

In Java, questa parola chiave è rappresentata come una variabile di riferimento che si riferisce a un oggetto. IL "Questo"La parola chiave elimina la confusione per il compilatore a causa del quale può facilmente distinguere tra un'istanza e la variabile locale.

Andiamo al seguente esempio per maggiori dettagli.

Codice:

classe pubblica arry
int h;
void val (int h)

H = H;

void disp ()

Sistema.fuori.println (h);

public static void main (string [] args)

arry tcheck = new arry ();
tcheck.Val (20);
tcheck.disp ();

Nel codice sopra, diamo lo stesso nome a una variabile di istanza e una variabile locale. Quindi il valore della variabile locale viene assegnato alla variabile di istanza. Infine, visualizziamo il valore con l'aiuto del metodo Disp ().

Produzione:

In questo output, puoi vedere che il compilatore si confonde con la stessa istanza e i nomi delle variabili locali e non è in grado di distinguere tra loro. Quindi restituisce 0 come output; Ora, usiamo "Questo"Parola chiave nell'esempio sopra per vedere la differenza.

Codice:

classe pubblica arry
int h;
void val (int h)

Questo.H = H;

void disp ()

Sistema.fuori.println (h);

public static void main (string [] args)

arry tcheck = new arry ();
tcheck.Val (20);
tcheck.disp ();

Nel codice sopra, assegniamo il valore della variabile locale a una variabile di istanza usando "Questo" parola chiave. Infine, visualizziamo il valore con l'aiuto del metodo Disp ().

Produzione:

Ora vedi la differenza; Dopo aver usato "Questo"Parola chiave, il compilatore può distinguere tra variabili locali e di istanza con lo stesso nome e assegnare il valore della variabile locale alla variabile di istanza. Infine, otteniamo il risultato richiesto che è 20.

Utilizzare questa parola chiave per chiamare il metodo della classe corrente

Possiamo anche usare Questo Parola chiave per chiamare implicitamente il metodo della classe corrente, il che significa che se abbiamo creato due metodi in una classe, allora possiamo chiamare un metodo utilizzando il secondo metodo. Vediamo il seguente esempio pratico.

Codice:

classe pubblica arry
void val ()

Sistema.fuori.println ("I metodi di classe corrente vengono chiamati utilizzando questa parola chiave.");

void disp ()

Questo.val ();

public static void main (string [] args)

arry tcheck = new arry ();
tcheck.disp ();

In questo codice, creiamo due metodi val () e disp (). Quindi chiediamo di stampare un messaggio nel metodo Val () e chiamare il metodo Val () nel metodo Disp () utilizzando Questo parola chiave.

Produzione:

L'output mostra che un metodo viene chiamato correttamente dal secondo metodo usando questa parola chiave.

Utilizzare questa parola chiave con i costruttori

Possiamo anche usare Questo parola chiave per chiamare un costruttore in un altro costruttore. Nel seguente esempio pratico, abbiamo usato questa parola chiave con un costruttore per la tua migliore comprensione.

Codice:

classe pubblica arry
int m = 3, r, x = 6;
arry ()

r = m+x;

arry (int f)

Questo();
Sistema.fuori.println (m+"+"+x+"="+r);

public static void main (string [] args)

arry tcheck = new arry (20);

In questo codice creiamo due costruttori. Uno è un costruttore parametrizzato e l'altro non è parametrizzato. Quindi chiamiamo costruttore non parametrizzato nel costruttore parametrizzato utilizzando Questo parola chiave.

Produzione:

L'output lo mostra Questo La parola chiave chiama correttamente il primo costruttore nel secondo costruttore.

Usa questa parola chiave come argomento

In Java, possiamo anche passare questa parola chiave come argomento in un metodo. Il seguente esempio pratico ti dà una comprensione soddisfacente.

Codice:

classe pubblica arry
int m = 3, r, x = 6;
void val (arry tcheck)

r = m+x;
Sistema.fuori.println (m+"+"+x+"="+r);

void disp ()

val (questo);

public static void main (string [] args)

arry tcheck = new arry ();
tcheck.disp ();

In questo codice, creiamo due metodi val () e disp (). Quindi passiamo l'oggetto del arry Classe come parametro al metodo Val (). Al momento della chiamata del metodo, questa parola chiave viene passata al metodo Disp () come argomento.

Produzione:

In questo codice, abbiamo superato correttamente questa parola chiave come argomento e ottenuto l'output richiesto.

Passando attraverso gli esempi di cui sopra, hai imparato a usare Questo Parole chiave in vari scenari.

Conclusione

In Java, il "Questo"La parola chiave viene utilizzata come variabile di riferimento per gli oggetti di classe corrente. Riprende la confusione tra classi, costruttori e variabili di istanza con lo stesso nome. In questo articolo, abbiamo imparato il "Questo"Parola chiave in dettaglio, con esempi e problemi se non si utilizza"Questo" parola chiave.