L' this
mot-clé est utilisé principalement dans trois situations. La première et la plus commune est dans le setter de lever l'ambiguïté de références à des variables. La deuxième, c'est quand il est nécessaire de passer le courant instance de classe comme un argument à une méthode d'un autre objet. Le troisième est aussi un moyen d'appeler suppléant constructeurs à partir de l'intérieur d'un constructeur.
Exemple de Cas 1: à l'Aide de this
de lever l'ambiguïté de références à des variables. En Java, setter, nous avons souvent passer dans une querelle avec le même nom que la variable membre privée, nous tentons de définir. Nous avons ensuite attribuer l'argument x
de this.x
.
public class Foo {
private String name;
// ...
public void setName(String name) {
// This makes it clear that you are assigning
// the value of the parameter "name" to the
// instance variable "name".
this.name = name;
}
// ...
}
Exemple de Cas 3: à l'Aide de this
d'appel suppléant constructeurs. Dans les commentaires, trinithis correctement souligné une autre utilisation courante de this
. Lorsque vous avez plusieurs constructeurs pour une seule classe, vous pouvez utiliser this(arg0, arg1, ...)
pour appeler un autre constructeur de votre choix, si vous le faites dans la première ligne de votre constructeur.
class Foo {
public Foo() {
this("Some default value for bar");
// Additional code here will be executed
// after the other constructor is done.
}
public Foo(String bar) {
// Do something with bar
}
// ...
}
J'ai aussi vu des this
utilisé pour souligner le fait qu'une variable d'instance est d'être référencé (sans la nécessité pour la désambiguïsation), mais c'est un cas rare à mon avis.