[Java] Error: non-static variable
Fermé
papillon_bleu
Messages postés
3
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
7 juin 2005
-
26 mai 2005 à 20:12
papillon_bleu Messages postés 3 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 juin 2005 - 7 juin 2005 à 19:19
papillon_bleu Messages postés 3 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 7 juin 2005 - 7 juin 2005 à 19:19
A voir également:
- [Java] Error: non-static variable
- 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
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
1 réponse
Bonjours papillon_bleu, je pense avoir trouvé ton erreur.
Si ta classe Agent sert d'objet (pour la création de plusieurs Agents différents avec des attributs différents), tu dois définir quel Agent doit modifier sa variable activeCible. Pour créer un Agent, tu utilises la commande suivante :
Agent monAgent = new Agent(attributs_du_constructeur);
En appellant activeCible de cette manière : (Agent.activeCible), une erreur se produit car ta variable activeCible n'a pas été déclaré en static (public static boolean activeCible = false;). Déclarer une variable en static la fait unique, donc elle portera les memes valeurs peut importe tes objets Agent. J'imagine que tu veux le contraire donc la solution à ton probleme serait de remplacer la ligne erroné par :
monAgent(désignant le nom de ton agent).activeCible = true;
Je te propose aussi de créer une méthode setActiveCible().
Finalement si tu ne connais pas nécéssairement le nom de ton Agent, utilise un tableau d'objets Agent !
J'espere avoir pu t'aider !
Si ta classe Agent sert d'objet (pour la création de plusieurs Agents différents avec des attributs différents), tu dois définir quel Agent doit modifier sa variable activeCible. Pour créer un Agent, tu utilises la commande suivante :
Agent monAgent = new Agent(attributs_du_constructeur);
En appellant activeCible de cette manière : (Agent.activeCible), une erreur se produit car ta variable activeCible n'a pas été déclaré en static (public static boolean activeCible = false;). Déclarer une variable en static la fait unique, donc elle portera les memes valeurs peut importe tes objets Agent. J'imagine que tu veux le contraire donc la solution à ton probleme serait de remplacer la ligne erroné par :
monAgent(désignant le nom de ton agent).activeCible = true;
Je te propose aussi de créer une méthode setActiveCible().
Finalement si tu ne connais pas nécéssairement le nom de ton Agent, utilise un tableau d'objets Agent !
J'espere avoir pu t'aider !
7 juin 2005 à 19:19
Bon courage pour la suite!!
++
Laura