Esta palavra-chave em Java: O que é & Como usar com o exemplo

Índice:

Anonim

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 atributos de classe e 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 : conta da classe
  2. Variável de instância : a e b
  3. Método Definir dados : 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 os métodos de chamada definem dados e mostram 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 "este"

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

Etapa 1) Copie o seguinte código 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();}}

Etapa 2) Salvar, compilar e executar o código.
Etapa 3) O valor de a & b é mostrado como zero? Para corrigir o erro, anexe as linhas 6 e 7 com a palavra-chave " this ".

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

Etapa 4) Salvar, compilar e executar o código. Desta vez, os valores de a e b são definidos como 2 e 3, respectivamente.

Resumo

  • esta 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 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.