Bonjour;
quelqu'un pourais m'expliquer qu'elle est l'interet de déclarer une variable ou methode "Static". SVP
Bonjour;
quelqu'un pourais m'expliquer qu'elle est l'interet de déclarer une variable ou methode "Static". SVP
salut, declarer une variable static (ou meme une fct) signifie que ce membre n'est pas specifiq a un objet mais a la classe, tous les objets de la classe partagent cette meme variable. Et de ce fait tu peux y acceder ainsi : Maclasse.MonVarStatic
ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class UneClasse { public static int counter = 0; } class Main { public static void main (String []args) { UneClasse un = new UneClasse (), deu = new UneClasse (); un.counter++; println (UneClasse.counter); // affiche 1 deu.counter++ ; println (un.counter); // affiche 2 } }
Quand on déclare une variable en static cela permet par exemple de compter le nombre d'instance de la classe qui contient la variable.
Salut,
Il est aussi à préciser qu'une variable "static" possède la même valeur pour toutes les instances d'une classe. Si sa valeur change, elle change dans toutes les instances.
F.
donc si j'ai bien compris c'est que on changeant la valeur d'une variable static pour un objet d'une certaine class , ca change pour tt les objet issu de cette meme class, c ca??????
tu as bien compris, c'est comme une variable commune en qq sorte
OKK, merci tt le monde c'est trés gentil de votre part,en fait je ss novice en java et j'aurais peut etre encor des questions a vous poser.
oui par exemple si tu as une classe serveurDeRestaurant tu peu mettre la variable static nbreCouvert que chaque serveurDeRestaurant pourra incrementer .. comme ca a la fin de la soiree tu peux savoir le nbre de couvert total .. c'est sympa hein![]()
dsl une autre petit question et c'est fini
en fait je voudrais aussi savoir l'interet pour la déclaration d'une class ou une méthode "Static".
Les variables statiques sont quand même à utiliser avec parcimonie, il est souvent préférable d'avoir une variable normale dans un objet qu'on "passe" aux objets l'utilisant.
Car ton appli de gestion de restaurant, si un jour ton restaurant ouvre une deuxième enseigne dans la rue d'en face et que tu veux gérer les 2 restaurants dans le même programme, tu vas avoir un problème si tu as tes couverts en static car tu voudras sûrement différencier les couverts du restaurant 1 et du restaurant 2.
Avoir une variable static c'est limiter l'évolutivité de son programme.
J'utilise par contre très souvent des "static final", i.e. qu'on ne peut pas modifier.
Ceci pour des "clés" de propriétés par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public static final String PROP_CHOIX = "choix"; setProperty(PROP_CHOIX, true);
Partager