"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quand et pourquoi avez-vous besoin du mot-clé « this » dans les classes Java ?

Quand et pourquoi avez-vous besoin du mot-clé « this » dans les classes Java ?

Publié le 2025-01-16
Parcourir:975

When and Why Do You Need the

Comprendre l'utilisation de « this » dans les classes Java

Bien que « this » puisse principalement faire référence à l'objet actuel, son utilisation spécifique et la nécessité peut prêter à confusion. Voici une liste des scénarios dans lesquels « ceci » est indispensable :

1. Lever l'ambiguïté des références de variables dans les setters

Les méthodes Setter utilisent souvent « this » pour faire la distinction entre les paramètres et les variables membres privées qui partagent le même nom. En utilisant 'this.x', le code attribue automatiquement la valeur du paramètre 'x' à la variable d'instance 'x', évitant toute ambiguïté.

Exemple :

public class Foo {
    private String name;

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

2. Passer l'instance de classe actuelle en tant qu'argument

Lors de l'appel de méthodes sur d'autres objets, 'this' vous permet de transmettre l'instance de classe actuelle en tant qu'argument. Cela permet à la méthode appelée d'accéder et d'interagir avec l'objet actuel.

Exemple :

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. Invocation de constructeurs alternatifs

Au sein des constructeurs, 'this' peut être utilisé pour appeler des constructeurs alternatifs de la même classe. Ceci est utile lorsque vous avez plusieurs constructeurs et que vous souhaitez initialiser l'objet avec des valeurs spécifiques.

Exemple :

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

        // Optional additional lines
    }

    public Foo(String bar) {
        // Do something with bar
    }
}
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3