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.
-----
Sauvons les traders !
Aujourd'hui
Publicité
10/11/2007, 17h07
#2
ABN84
Date d'inscription
juillet 2004
Localisation
IDF
Messages
4 915
Re : Que veut dire static dans Java ?
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, 17h14
#3
le fatumbi
Date d'inscription
septembre 2007
Âge
57
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, 20h50
#4
cedbont
Date d'inscription
juillet 2004
Âge
34
Messages
1 346
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 !
Aujourd'hui
A voir en vidéo sur Futura
10/11/2007, 21h02
#5
le fatumbi
Date d'inscription
septembre 2007
Âge
57
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.
11/11/2007, 10h29
#6
The Cat 2007
Date d'inscription
mai 2007
Messages
230
Re : Que veut dire static dans Java ?
Bonjour à tous,
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 ! ;-)
Aujourd'hui
Publicité
11/11/2007, 12h52
#7
cedbont
Date d'inscription
juillet 2004
Âge
34
Messages
1 346
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, 14h13
#8
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, 16h39
#9
whoami
Date d'inscription
janvier 2009
Messages
3 581
Re : Que veut dire static dans Java ?
Bonjour,
Joli déterrage pour un 1er message, presque 5 ans !!