esta palavra-chave em Java: o que é e como usar com o exemplo

O que é esta palavra-chave em Java?

esta palavra-chave em Java é uma variável de referência que se refere ao objeto atual de um método ou construtor. O principal objetivo de usar essa palavra-chave em Java é remover a confusão entre os atributos de classe e os parâmetros que têm os mesmos nomes.

A seguir estão vários usos da palavra-chave 'this' em Java:

  • Pode ser usado para referir-se à variável de instância da classe atual
  • Pode ser usado para invocar ou iniciar o construtor da classe atual
  • Pode ser passado como um argumento na chamada do método
  • Pode ser passado como argumento na chamada do construtor
  • Pode ser usado para retornar a instância da classe atual

Clique aqui se o vídeo não estiver acessível



Compreenda 'esta' palavra-chave com um exemplo.

Java este exemplo de palavra-chave

  1. Classe : class Conta
  2. Variável de instância : a e b
  3. Dados do conjunto de métodos : Para definir o valor de a e b.
  4. Método Mostrar dados : Para exibir os valores de a e b.
  5. Método principal: onde criamos um objeto para a classe Account e métodos de chamada set data e show data.

Vamos compilar e executar o código

Nossa saída esperada para A e B deve ser inicializada com os valores 2 e 3, respectivamente.

Mas o valor é 0, por quê? Vamos investigar.

No método Set data, os argumentos são declarados como a e b, enquanto as variáveis ​​de instância também são nomeadas como a e b.

Durante a execução, o compilador fica confuso. Se 'a' no lado esquerdo do operador atribuído é a variável de instância ou a variável local. Portanto, ele não define o valor de 'a' quando os dados do conjunto de métodos são chamados.

A solução é a palavra-chave 'this'

Anexe 'a' e 'b' com a palavra-chave Java this seguida por um operador ponto (.).

Durante a execução do código, quando um objeto chama o método 'setdata'. A palavra-chave 'this' é substituída pelo manipulador de objetos 'obj.' (Veja a imagem abaixo).

Então agora o compilador sabe,

  • O 'a' no lado esquerdo é uma variável de instância.
  • Considerando que o 'a' no lado direito é uma variável local

As variáveis ​​são inicializadas corretamente e a saída esperada é mostrada.

Suponha que você seja inteligente o suficiente para escolher nomes diferentes para sua variável de instância e argumentos de métodos.

Mas, desta vez, você cria dois objetos da classe, cada um chamando o método de conjunto de dados.

Como o compilador irá determinar se ele deve funcionar na variável de instância do objeto 1 ou do objeto 2.

Bem o compilador anexa implicitamente a variável de instância com a palavra-chave 'this' (imagem abaixo).

De forma que, quando o objeto 1 está chamando o método de conjunto de dados, uma variável de instância é anexada por sua variável de referência.

Enquanto o objeto 2 está chamando o método set data, uma variável de instância do objeto 2 é modificada.

Este processo é feito pelo próprio compilador. Você não precisa anexar 'esta' palavra-chave explicitamente, a menos que haja uma situação excepcional como em nosso exemplo.

Exemplo: Para aprender a usar 'esta' palavra-chave

Passo 1) Copie o código a seguir em um bloco de notas.

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) Salve, compile e execute o código.

Etapa 3) O valor de a e b é mostrado como zero? Para corrigir o erro, anexe as linhas 6 e 7 com ' isto 'palavra-chave.

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

Passo 4) Salve, compile e execute o código. Desta vez, os valores de a e b são definidos como 2 e 3, respectivamente.

Resumo

  • isto Palavra-chave em Java é uma variável de referência que se refere ao objeto atual.
  • Um dos usos desta palavra-chave em Java é para referir-se à variável de instância de classe atual
  • Pode ser usado para invocar ou iniciar o construtor da classe atual
  • Pode ser passado como um argumento na chamada do método
  • este ponteiro em Java pode ser passado como argumento na chamada do construtor
  • este operador em Java pode ser usado para retornar a instância da classe atual
  • isto em Java é uma referência ao objeto atual, cujo método está sendo chamado.
  • Você pode usar a palavra-chave 'this' para evitar conflitos de nomenclatura no método / construtor de sua instância / objeto.