Le mot clé THIS en JAVA [Résolu/Fermé]

Signaler
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
-
 MOUTABARRIK -
Bonjour,
je suis débutante en java et j'aimerai avoir une explication de l'utilité du mot clé this car j'ai cherché dans les tutoriels mais ça reste ambigüe
merci d'avance ...
A voir également:

4 réponses

Messages postés
140
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
10 avril 2014
61
KONNICHIWA,

THIS en JAVA indique l'instance courante de l'objet de la classe.

on peut l'utiliser comme on ne peut pas.

Elle est surtout utilise dans les fonction lorsque le nom du paramètre de la fonction est le même que le nom de la variable globale de la classe. Donc pour faire la différence on utilise THIS.
Exemple :

class MaClasse{
String nom;

public void setName(String nom){
    this.nom = nom;
/* le nom lié avec this, est celle qu'on a déclaré au début de la classe
tandis que nom, le paramètre de la méthode setName() est une variable locale.*/
} // fin méthode
/*....*/
} // fin classe


j'espère que j'ai pu passé le message ;)

.
26
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
18
CONITCHIWA
ARIGATO GOSAIMAS (merci beaucoup en japonais) pour la réponse , je l'ai compris , en effet j'ai mis le sujet en résolu
mais ARIGATO encore pour la confirmation
SAYONARA....
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
18
j'ai compris son utilisation autant que référence a l'objet courant mais mon problème est avec son utilisation avec les variables d'instance exemple:
public class Ville {
 

  private String nomVille;
  private String nomPays;
  private int nbreHabitant;
  private char categorie;
  public Ville(){
          nomVille = "Inconnu";
          nomPays = "Inconnu";
          nbreHabitant = 0;
          this.setCategorie();
  }

 private void setCategorie() {
 
      int bornesSuperieures[] = {0, 1000, 10000, 100000, 500000, 1000000, 5000000, 10000000};
        char categories[] = {'?', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};

        int i = 0;
        while (i < bornesSuperieures.length && this.nbreHabitant >= bornesSuperieures[i])
                i++;
/**   c'est la où je n'ai pas compris, est ce qu'on ne peut pas mettre directement nbreHabtant  ??????     **/

        this.categorie = categories[i];

 
  }
}


merci
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
18
CONNITCHIWA
ARIGATO GOSAIMASS (merci beaucoup en japonais ) pour la réponse , c 'est bon , je l'ai compris en effet j'ai mis le sujet en résolu mais encore ARIGATO pour la confirmation .
SAYONARA..
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
18
CONITCHIWA
ARIGATO GOSAIMAS (merci beaucoup en japonais) pour la réponse, je l'ai compris , en effet j'ai mis le sujet en résolu ; mais ARIGATO pour la confirmation.
SAYONARA....