top of page

Explicando a função do this em Java

  • Foto do escritor: Almir Santos
    Almir Santos
  • 21 de jan.
  • 3 min de leitura

Atualizado: 23 de jan.

Neste tutorial, vamos explicar a função da palavra this e como utilizá-la. Este é um assunto que para muitos pode parecer bem confuso então, vou tentar ser o mais claro possível - tá OK?

Procurando explicar sua definição de forma bem simples, a palavra this em Java é utilizada para realizar uma auto-referência em um objeto, isto é, com ele podemos referenciar membros do próprio objeto em questão.

Eu gosto muito de dar exemplos práticos antes de passar para exemplos técnicos então, lá vai!

Imagine que você tem uma bandeija com uma caneca, um copo e uma jarra. Você sabe que esses três recipientes (objetos) fazem parte de uma bandeija (classe) e para se referir à cada recipiente (atributos) da bandeija você utiliza do this. Aplicando agora o termo técnico: a palavra reservada this se refere aos atributos ou métodos do objeto atual dentro de uma classe e garante que estamos trabalhando com o objeto que se deseja, evitando ambiguidades e conflitos em classes complexas.

Exemplo de this em uma classe
Exemplo de this em uma classe

Quando usar o this?

Analise o exemplo abaixo:

class CalculadoraThis {
    private int numero;

    public CalculadoraThis(int numero) {
        this.numero = numero;
    }

    public void imprimirNumero(){
        System.out.println("Número: " + this.numero);
    }

    public void imprimirDobro(){
        this.imprimirNumero();
        System.out.println("O dobro é: " + (this.numero * 2));
    }
}

public class Main {
    public static void main(String[] args) {
        CalculadoraThis obj = new CalculadoraThis(8);
        obj.imprimirDobro();
    }
}

Existem 3 momentos em que podemos utilizar do this e por meio do exemplo acima, iremos identificá-los juntos. 1 - Em chamadas de métodos

Para acessar métodos dentro da mesma classe, diferenciando-os de parâmetros com o mesmo nome. No exemplo acima temos "this.imprimirNumero();", que nos garante que o método chamado é o método imprimirNumero() existente na classe CalculadoraThis.


2 - Em atributtos de classe

Quando um atributo local tem o mesmo nome do atributo de uma classe diferente, o this resolve a ambiguidade. Seguindo o exemplo, declarando "this.numero" eu garanto que estou trabalhando com o atributo numero da classe CalculadoraThis e caso venha à trabalhar com outra classe dentro da classe CalculadoraThis que tenha atributos com o mesmo nome, não haverá ambiguidades.


3 - Construtores e passagem de parâmetros

Para inicializar atributos de classe usando valores passados como parâmetros. É o caso da inicialização da classe CalculadoraThis, onde a mesma recebe um valor passado por um parâmetro com o mesmo nome do atributo da classe "CalculadoraThis(int numero)". Desta forma, fica bem claro que "this.numero = numero;" se refere ao valor do parâmetro sendo passado para o atributo da classe CalculadoraThis.


Com isso, podemos categorizar o uso do this da seguinte forma:

  1. Em construtores

    O this é utilizado na inicialização de atributos da classe no construtor, em chamadas de outros construtores dentro da mesma classe e reutilizando códigos evitando assim repetição de códigos e garantindo a consistência na inicialização.

  2. Em métodos

    O this é utilizado para acessar atributos da classe dentro de métodos, ajuda a diferenciar atributos locais de parâmetros com o mesmo nome e garante que o método está operando no objeto atual, evitando conflitos.

  3. Em referências a atributos

    Ele resolve ambiguidades resolvendo conflitos entre atributos da classe local e atributos de outras classes, garante que o atributo que está sendo acessado realmente é o atributo dentro do objeto desejado e torna o código mais claro e organizado, facilitando a compreensão.


Conclusão

Compreender a palavra reservada this é crucial para escrever código Java organizado e eficiente. Utilize-o sempre que precisar acessar atributos ou métodos do objeto atual.

Comentários


bottom of page