This = incompréhension !

Résolu/Fermé
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - Modifié par Skymer le 5/05/2016 à 12:18
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 5 mai 2016 à 13:36
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

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 mai 2016 à 13:19
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);
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
5 mai 2016 à 13:24
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 ?
	}
}
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75 > Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018
5 mai 2016 à 13:36
C'est bon, j'ai utilisé l'instruction break :)
0