This = incompréhension ! [Résolu/Fermé]

Signaler
Messages postés
473
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018
-
Messages postés
473
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018
-
Bonjour,
Je ne comprends toujours pas l'utilité du mot clef this, avant je l'utilisais toujours pour tout. Puis je me suis rendu compte qu'il ne servait qu'à ça :
public void setVar(Object var){
 this.var = var
}

Et à :
public void autreExemple(){
 System.out.println(this.getName + "\t" + this.uneMethode);
}

Est-ce vraiment les seuls utilisations de this ?

Skymer
"On à jamais rien, sans rien !"
"Ne jamais abandonnez"

1 réponse

Messages postés
16250
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 février 2021
2 797
Bonjour,

Tu peux également utiliser this pour le passer en paramètre d'une méthode.

Exemple :
System.out.println(this);


Dans le cas d'un constructeur tu peux également utiliser this pour appeler un autre constructeur. Dans ce cas this doit être la première instruction de ce constructeur.

Exemple :

public class MaClasse {
    public MaClasse(String param) {
         System.out.println(param);
    }
    public MaClasse() {
         this(null); // appelle le constructeur public MaClasse(String param) avec param == null
    }
}

Remarque : dans ton deuxième exemple, this n'est pas obligatoire :
System.out.println(this.getName + "\t" + this.uneMethode);

Tu pourrais directement faire :
System.out.println(getName + "\t" + uneMethode);
Messages postés
473
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018
64
Merci beaucoup, je ne te connais pas, mais tu es un puits à informations, d'ailleurs tant que tu es là, comment arrêter le traitement dans une boucle for tel que celle ci
for (int i : list){
	if (i == 10){
		//Comment arrêter le traitement de la boucle for ?
	}
}
Messages postés
473
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018
64 >
Messages postés
473
Date d'inscription
vendredi 6 décembre 2013
Statut
Membre
Dernière intervention
1 novembre 2018

C'est bon, j'ai utilisé l'instruction break :)