esta palavra-chave em Java
Em que consiste esta palavra-chave 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 objetivo principal de usar esta palavra-chave em Java é remover a confusão entre atributos de classe e parâmetros que possuem os mesmos nomes.
Uso desta palavra-chave em Java
A seguir estão vários usos da palavra-chave 'this' em Java:
- Pode ser usado para se referir à variável de instância da classe atual
- Pode ser usado para invocar ou iniciar o construtor da classe atual
- Pode ser passado como 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
Entenda a palavra-chave 'esta' com um exemplo.
- Aula: classe Conta
- Variável de instância: a e b
- Método Definir dados: Para definir o valor de a e b.
- Método Mostrar dados: Para exibir os valores de a e b.
- Método principal: onde criamos um objeto para a classe Account e chamamos os métodos para definir dados e mostrar dados.
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 “isto”
Anexe 'a' e 'b' com o Java esta palavra-chave 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' do lado direito é uma variável local
O variáveis são inicializados corretamente e a saída esperada é mostrada.
Suponha que você seja inteligente o suficiente para escolher nomes diferentes para suas variáveis de instância e argumentos de métodos.
Mas desta vez, você cria dois objetos da classe, cada um chamando o método set data.
Como o compilador determinará se deve funcionar na variável de instância do objeto 1 ou no objeto 2.
Bem, a compilador anexa implicitamente a variável de instância com a palavra-chave “this” (imagem abaixo).
De tal forma que quando o objeto 1 está chamando o método set data, uma variável de instância é anexada por sua variável de referência.
Enquanto o objeto 2 chama o método set data, uma variável de instância do objeto 2 é modificada.
Este processo é cuidado pelo próprio compilador. Você não precisa anexar explicitamente a palavra-chave 'this', a menos que haja uma situação excepcional como em nosso exemplo.
esta palavra-chave em Java com exemplo
Exemplo: Para aprender a usar a palavra-chave “this”
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.
Passo 3) O valor de a e b é mostrado como zero? Para corrigir o erro, anexe as linhas 6 e 7 com “esse” 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
- esse Palavra-chave em Java é uma variável de referência que se refere ao objeto atual.
- Um dos usos desta palavra-chave em Java é 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 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
- Está 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.
Confira nosso artigo sobre Java Questões de entrevista:- Clique aqui