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.
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.
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);
}
}
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)...
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); } }
× 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.
Mon site perso / Retrouvez tous mes tutoriels vidéos à propos de Symfony2 sur Grafikart.fr