Tableau d'objets
Fermé
talbsbast
Messages postés
54
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
3 février 2023
-
23 mars 2014 à 17:03
talbsbast Messages postés 54 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 3 février 2023 - 23 mars 2014 à 19:54
talbsbast Messages postés 54 Date d'inscription mardi 21 juin 2011 Statut Membre Dernière intervention 3 février 2023 - 23 mars 2014 à 19:54
A voir également:
- Tableau d'objets
- Tableau croisé dynamique - Guide
- Site pour vendre des objets d'occasion - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
23 mars 2014 à 19:07
23 mars 2014 à 19:07
"pourquoi il écrase la valeur de la case 0 ?"
Parce que tu les as déclarés static !!!
Parce que tu les as déclarés static !!!
public class Point { public static long x; public static long y;
talbsbast
Messages postés
54
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
3 février 2023
1
23 mars 2014 à 19:38
23 mars 2014 à 19:38
Merci KX pour votre réponse,
bon je ne sais pas parfaitement le rôle de static,
mais j'ai essayé de l'enlevé et ça m'affiche une erreur dans la fonction d'affichage!
car j'utilise dedans x et y (même si je mis this.x et this.y)
comment je vais régler ce bug ? Merci :)
bon je ne sais pas parfaitement le rôle de static,
mais j'ai essayé de l'enlevé et ça m'affiche une erreur dans la fonction d'affichage!
car j'utilise dedans x et y (même si je mis this.x et this.y)
comment je vais régler ce bug ? Merci :)
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
23 mars 2014 à 19:47
23 mars 2014 à 19:47
"je ne sais pas parfaitement le rôle de static"
C'est un point important à comprendre.
Un attribut static appartient à la classe, sa valeur est commune à tous les objets de cette classe.
Donc si tu modifies x ou y alors qu'ils sont static, comme la valeur est partagée, alors elle sera changée pour tous les objets.
Il en est de même pour les méthodes static, elles appartiennent à la classe, pas à un objet particulier. Donc si maintenant tu enlèves le mot clé static à x et y, tu ne peux plus utiliser ces valeurs dans ta méthode static Affiche, car x et y appartiennent désormais à un objet que ne connaît pas Affiche.
Pour faire ce que tu veux il faut donc aussi enlever le mot clé static à Affiche, qui n'a rien à faire ici.
C'est un point important à comprendre.
Un attribut static appartient à la classe, sa valeur est commune à tous les objets de cette classe.
Donc si tu modifies x ou y alors qu'ils sont static, comme la valeur est partagée, alors elle sera changée pour tous les objets.
Il en est de même pour les méthodes static, elles appartiennent à la classe, pas à un objet particulier. Donc si maintenant tu enlèves le mot clé static à x et y, tu ne peux plus utiliser ces valeurs dans ta méthode static Affiche, car x et y appartiennent désormais à un objet que ne connaît pas Affiche.
Pour faire ce que tu veux il faut donc aussi enlever le mot clé static à Affiche, qui n'a rien à faire ici.
talbsbast
Messages postés
54
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
3 février 2023
1
23 mars 2014 à 19:54
23 mars 2014 à 19:54
Merci beaucoup pour les explications, c'est très clair :)