Bonjour,
j'ai un petit problème : dans une classe java, quelle différence y a-t-il entre les attributs déclarés «static» et les autres? et en général, que veut dire static ?
Merci de votre aide.
une variable declarée static est utilisable partout dans la classe alors que les autres uniquement là ou tu les as declarées.
quel est ton bleme plus exactement?
"Engineering is the art of making what you want from what you get"
10/11/2007 - 16h14
le fatumbi
Date d'inscription
septembre 2007
Âge
49
Messages
881
Re : Que veut dire static dans Java ?
C'est un peu plus précis que ça:
Les variables statiques n'existent qu'en un seul exemplaire pour toutes les instances de la classe, au contraire des variables objet.
Elles sont utilisables sans avoir besoin d'intancier la classe.
Les methodes statiques sont de même utilisables sans avoir besoin d'intancier la classe.
C'est ainsi que le main du programme peut être lancé par la jvm , sans avoir été instancié.
10/11/2007 - 19h50
cedbont
Date d'inscription
juillet 2004
Âge
26
Messages
1 343
Re : Que veut dire static dans Java ?
En fait, je mélange un peu tout : static public protected private...
Je ne sais jamais quand mettre l'un ou l'autre.
Comment savoir ?
Sauvons les traders !
10/11/2007 - 20h02
le fatumbi
Date d'inscription
septembre 2007
Âge
49
Messages
881
Re : Que veut dire static dans Java ?
Donc, les niveaux d'accès, par ordre croissant, des variables d'instance et des méthodes. (donc au niveau de visibilité de la classe)
private: accès uniquement à l'intérieur de la classe, mais pas de ses classes filles.
protected : l'élement est accessible uniquement à l'intérieur de la classe et de ses filles (heritiers). On dit aussi "friendly" je crois, et il me semble que c'est le niveau par défaut si on ne précise pas.
public: accessible de partout sans restriction.
static: public et unique pour toute la classe (on peut dire "global" à l'application) même non instanciée.
Dans d'autre langages, une variable static dans une procédure, garde sa valeur à l'intérieur de la procédure, jusqu'à la fin d'éxécution de tous les codes du programme.
ex : A=5 static dans la procèdure, et à la fin de la procédure.
on quitte la procédure
on rappel la procédure A=5
"Habituellement" quand on sort d'une procédure, les valeurs de variables sont perdues.
ex : A=5 dans la procèdure, et à la fin de la procédure.
on quitte la procédure
on rappel la procédure A=0 si pas déclaré static
Si çà peut avancer le smilblick
Celui qui n'essaie pas, ne se trompe qu'une seule fois ! ;-)
11/11/2007 - 11h52
cedbont
Date d'inscription
juillet 2004
Âge
26
Messages
1 343
Re : Que veut dire static dans Java ?
Merci, je comprends un peu mieux, même si je crois que c'est plutôt package la niveau d'une variable, par défaut .
Sauvons les traders !
30/08/2012 - 13h13
Cbalot
Date d'inscription
août 2012
Messages
1
Re : Que veut dire static dans Java ?
En fait il existe un niveau de plus : le niveau par défaut (si on ne précise pas de modifier d'accès)
exemple
Class toto{}
le niveau par défaut est celui du Package, c'est a dire que seul les classes du même Package aurons accès a celle la
30/08/2012 - 15h39
whoami
Date d'inscription
janvier 2009
Messages
2 693
Re : Que veut dire static dans Java ?
Bonjour,
Joli déterrage pour un 1er message, presque 5 ans !!
À part la mort et les impôts, tout n'est qu'incertitude.