Pourquoi le Static en Java ?
Résolu/Fermé
A voir également:
- Pourquoi le Static en Java ?
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
- Java décompiler - Télécharger - Langages
3 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 mai 2011 à 12:35
18 mai 2011 à 12:35
Le static prend son sens au sein d'une classe, sans la classe et ce que tu veux faire, il est impossible de dire pourquoi static est mieux que rien.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
18 mai 2011 à 13:38
18 mai 2011 à 13:38
Pour une méthode, le mot-clé static, signifie qu'elle s'utilise sans objet de la classe, et qu'en particulier la méthode n'a pas accès à this qui n'a alors aucun sens.
Pour un objet, le mot-clé static garde le même sens d'appartenance à la classe, et pas à un objet précis, en fait c'est un objet commun à toutes les instances de la classe.
Dans ton cas :
PANNE_FILE est une constante définie pour toute la classe, tous les objets de la classe y ont accès. Tu peux, en particulier utiliser TaClasse.PANNE_FILE où TaClasse est le nom de la classe, mais en aucun cas un objet.
pannesList est une collection commune à toute la classe, cela signifie que peu importe qu'il y ait 1, 2, 150 ou 0 objet de la classe, cette liste existera toujours car elle appartient à la classe. Pareil tu peux l'utiliser avec TaClasse.pannesList, chaque objet de la classe va pouvoir de la classe va pouvoir la consulter, ou la modifier.
Remarque : en l'absence de mots-clés private, protected ou public, tous les objets du package ont accès à ces objets. Peut-être n'as-tu rien mis car tu ne sais pas t'en servir, mais il apparaît pourtant important de les spécifier selon ce que tu veux faire.
Ici je pense que PANNE_FILE devrait-être public, et pannesList protected...
Pour un objet, le mot-clé static garde le même sens d'appartenance à la classe, et pas à un objet précis, en fait c'est un objet commun à toutes les instances de la classe.
Dans ton cas :
PANNE_FILE est une constante définie pour toute la classe, tous les objets de la classe y ont accès. Tu peux, en particulier utiliser TaClasse.PANNE_FILE où TaClasse est le nom de la classe, mais en aucun cas un objet.
pannesList est une collection commune à toute la classe, cela signifie que peu importe qu'il y ait 1, 2, 150 ou 0 objet de la classe, cette liste existera toujours car elle appartient à la classe. Pareil tu peux l'utiliser avec TaClasse.pannesList, chaque objet de la classe va pouvoir de la classe va pouvoir la consulter, ou la modifier.
Remarque : en l'absence de mots-clés private, protected ou public, tous les objets du package ont accès à ces objets. Peut-être n'as-tu rien mis car tu ne sais pas t'en servir, mais il apparaît pourtant important de les spécifier selon ce que tu veux faire.
Ici je pense que PANNE_FILE devrait-être public, et pannesList protected...