Le mot-clé 'this' en Java est utilisé pour faire référence à la variable d'instance de la classe actuelle. C'est très utile, spécialement lorsque le paramètre d'une méthode a le même nom que l'un des champs de classe.
Dans le contexte d'une méthode d'instance, 'this' est une référence à l'objet actuel, l'objet dont la méthode ou le constructeur est en cours d'appel. C'est un moyen de faire référence explicitement aux attributs de l'objet et de résoudre les problèmes d'ombre des noms de variables et de champs.
Considérez la classe suivante, Etudiant
:
public class Etudiant {
private String nom;
public void setNom(String nom) {
this.nom = nom;
}
public String getNom() {
return this.nom;
}
}
Ici, l'argument de la méthode setNom(String nom)
a le même nom que le champ de la classe. Afin d'éviter une confusion entre le champ nom
de la classe et l'argument nom
de la méthode, nous utilisons le mot-clé 'this'. this.nom
fait référence au champ 'nom' de la classe, tandis que 'nom' fait référence à l'argument de la méthode.
Bien que le mot-clé 'this' soit extrêmement utile, il est bon de noter qu'il n'est pas toujours nécessaire de l'utiliser. Si le nom de l'argument de la méthode est différent du nom du champ de la classe, le mot-clé 'this' n'est pas nécessaire. L'utilisation de 'this' est donc une question de préférence stylistique et de clarté.
De plus, 'this' peut aussi être utilisé pour appeler un autre constructeur dans le même constructeur à l'aide de this()
.
Notez que le mot-clé 'this' ne peut pas être utilisé dans les méthodes statiques car elles sont spécifiques à la classe, non à l'instance. 'this' est une référence à l'objet actuel et il n'existe pas d'objet actuel dans une méthode statique.