"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Quando e por que você precisa da palavra-chave “this” nas classes Java?

Quando e por que você precisa da palavra-chave “this” nas classes Java?

Publicado em 16/01/2025
Navegar:362

When and Why Do You Need the

Compreendendo o uso de 'this' em classes Java

Embora 'this' possa se referir principalmente ao objeto atual, seu uso específico e a necessidade pode ser um tanto confusa. Aqui está uma análise dos cenários em que 'isto' é indispensável:

1. Desambiguando referências de variáveis ​​em setters

Os métodos setter geralmente utilizam 'this' para distinguir entre parâmetros e variáveis ​​de membros privados que compartilham o mesmo nome. Ao usar 'this.x', o código simplesmente atribui o valor do parâmetro 'x' à variável de instância 'x', evitando qualquer ambiguidade.

Exemplo:

public class Foo {
    private String name;

    public void setName(String name) {
        this.name = name;
    }
}

2. Passando a instância da classe atual como um argumento

Ao invocar métodos em outros objetos, 'this' permite que você passe a instância da classe atual como um argumento. Isso permite que o método chamado acesse e interaja com o objeto atual.

Exemplo:

public class Foo {
    public String useBarMethod() {
        Bar theBar = new Bar();
        return theBar.barMethod(this);
    }

    public String getName() {
        return "Foo";
    }
}

public class Bar {
    public void barMethod(Foo obj) {
        obj.getName();
    }
}

3. Invocando Construtores Alternativos

Dentro dos construtores, 'this' pode ser empregado para chamar construtores alternativos da mesma classe. Isso é útil quando você tem vários construtores e deseja inicializar o objeto com valores específicos.

Exemplo:

class Foo {
    public Foo() {
        this("Some default value for bar");

        // Optional additional lines
    }

    public Foo(String bar) {
        // Do something with bar
    }
}
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3