Bonjour;
quelqu'un pourais m'expliquer qu'elle est l'interet de déclarer une variable ou methode "Static". SVP
Version imprimable
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:
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 :lol:
dsl une autre petit question et c'est fini :D
en fait je voudrais aussi savoir l'interet pour la déclaration d'une class ou une méthode "Static".
Je te suggère d'aller voir la FAQ, tout ce qui concerne static est expliqué.
Reviens par ici si c'est pas clair.
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:
1
2
3 public static final String PROP_CHOIX = "choix"; setProperty(PROP_CHOIX, true);
oui c'est vrai nous sommes trop bon .... KIROU !!!!!!!!!!!!!!!!! :
----> :faq: <----
;)
ouais natha c'etait pour info .. touche pas a ma "super" idée de restaurant :D .... et puis deux restaurants c'est pas pour tout de suite .... il faut d'abord que le premier marche .... :aie:
dsl pour le retard mais c bon je pesne que tt est claire.......:yaisse2: merci encors une fois