Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable d'instance - Variable de classe

Différence

    30 juillet 2011 à 16:26:14

    Bonjour tout le monde,

    Alors voilà, je me demandais quelle différence il y a entre ces 2 types de variable.

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      30 juillet 2011 à 17:49:17

      Une variable de classe est propre à la classe.
      Une variable d’instance est propre à l’objet.

      Donc, si tu instancies plusieurs objets à partir d’une classe X, les variables d’instances pourront être différent d’un objet à l’autre.
      Par contre, les variables de classe seront les mêmes pour tous les objets de ta classe.
      • Partager sur Facebook
      • Partager sur Twitter
        30 juillet 2011 à 18:09:21

        antoyo a parfaitement répondu à ta question, je ne peux rien ajouter si ce n'est qu'avec quelques minutes de recherches sur la toile tu aurais pu trouver je pense. La prochaine fois fais appel à ton ami Google avant de créer un nouveau sujet sur le forum.
        • Partager sur Facebook
        • Partager sur Twitter
          30 juillet 2011 à 20:47:43

          Merci beaucoup pour ta réponse! Je regarderai la prochaine fois sur Google. C'est juste que je pensais trouver les meilleures réponses sur ce forum.
          • Partager sur Facebook
          • Partager sur Twitter
            30 juillet 2011 à 20:53:01

            De rien.
            Veuillez cliquer sur le bouton « Ce sujet est résolu », s’il vous plaît.
            • Partager sur Facebook
            • Partager sur Twitter
              30 juillet 2011 à 22:01:42

              Salut !
              Je n'ai pas grand chose à ajouter à la réponse d'antoyo, mais je pense qu'un exemple d'application purrai t'intéresser:
              // Personnage.java
              public class Personnage
              {
              	// variable de Classe: sa valeur est la même pour tous les objets de la classe
              	private static int nbPersonnages = 0;	// nombre de personnages créés (initialement nul donc)
              	
              	// variable d'Instance: sa valeur est propre à chaque instance (donc peut varier d'un objet à un autre)
              	private int nbVies;	// nombres de vies restantes au personnage créé
              	private String nom; // nom du personnage
              	
              	public Personnage(String pNom, int nbViesDepart)
              	{
              		nbPersonnages++;	// un nouveau personnage est créé, on incrémenete donc le nombre total de personnages créés
              		
              		this.nom = pNom;
              		this.nbVies = nbViesDepart;	// on initialise le nombre de vies dont bénéficie le personnage lors de sa création;
              		
              		System.out.println(nom + " créé avec " + nbVies + " vie(s)");
              		System.out.println("Nombre total de personnages créés: " + nbPersonnages);
              	}
              }
              
              // Jeu.java
              public class Jeu
              {
              	public static void main(Strind[] args)
              	{
              		Personnage neo   = new Personnage("Neo", 1);
              		Personnage smith = new Personnage("Smith", 1000);
              	}
              }
              

              Inspiré par les exemples de M@teo21 ;)
              • Partager sur Facebook
              • Partager sur Twitter
                14 mai 2015 à 0:07:28

                -
                Edité par Hooligan 14 mai 2015 à 0:07:43

                • Partager sur Facebook
                • Partager sur Twitter
                  17 avril 2016 à 18:40:08

                  bonjour à tous, suis nouveau sur ce forum. merci pour cet eclaircissement!
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    9 juillet 2016 à 11:55:02

                    Merci beaucoup pour l'exemple, ça aide beaucoup à comprendre les explications! :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 juillet 2016 à 21:10:07

                      A noter qu'une variable de classe (donc static hein) existe en dehors de toute instance de la même classe. Elle est instanciée au runtime même si aucune instance (aucun objet) de la classe n'est en mémoire.

                      Vous pouvez donc l'appeler sans passer par un object (en faisant NomDeLaClasse.VariableDeClasse)...

                      Cordialement

                      -
                      Edité par Namhto94 9 juillet 2016 à 21:11:04

                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 octobre 2016 à 14:57:44

                        Bonjour,

                        Après plusieurs recherches sur internet, je comprend le fait qu'une variable de classe est propre à la classe et une
                        variable d’instance est propre à l’objet.  Cependant, je crois que j'ai de la difficulté à saisir le concept pour l'appliquer dans le cadre d'un code.  À noter que je suis complètement débutante en java.

                        Si je prend mon code ci-dessous, le but est de faire afficher sur deux lignes les messages suivants. 

                        Pour ce faire, j'aimerais savoir comment je peut faire afficher le deuxième message à l'aide d'une variable d'instance.

                        public class tp6 {
                        static String MessageDeBienvenue;
                        static String PresentationConcours;
                         
                          public static void main(String args[]) {
                          MessageDeBienvenue = "Bienvenue \u00E0 l'\u00C9cole de la Marguerite";
                          PresentationConcours = "Pr\u00E9sentation du concours de dessin par Martin et Nathalie";
                          System.out.println(MessageDeBienvenue);
                          System.out.println(PresentationConcours);
                        }
                        }

                        -
                        Edité par ArPo1 19 octobre 2016 à 15:04:26

                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 décembre 2016 à 1:50:57

                          svp j 'ai une question concernant les variable de classe:
                          est ce que les variables de classe sont toujours déclarés static?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 janvier 2018 à 16:04:05

                            Je vous remercie pour ces éclaircissements !

                            -
                            Edité par IlyasMamou 21 janvier 2018 à 16:04:52

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Variable d'instance - Variable de classe

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown