IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Appel d'une méthode static d'une autre classe


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Appel d'une méthode static d'une autre classe
    Bonjour à tous,
    Alors voila, je programme un petit jeu pour le plaisir, et là, j'ai un petit probléme
    En fait, j'ai une classe Perso, qui permet d'instancier des objet de type Perso qui décrivent les personges du jeu, et un objet de type Perso contient une variable

    int[] moveset

    qui est un tableau de cinq entier, chaque entier representant une attaque (c'est un jeu de combat ^^ )! (Par exemple, l'entier 1 se referre à l'Attaque numéro 1 etc ...)

    J'ai aussi crée une classe Attaque, qui dictera le comportement de chaque attaque lancée par un personnage! Mais avant d'en arrivé la, j'ai écrit une fonction dans la classe Attaque qui permet de connaitre le nom de l'attaque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class Attaque{
     
    	//public static void Attaquer(Perso lanceur, Perso receveur, int id){
     
    	//}
     
    	public static String quelleAttaque(int num){
    		String retour = "--";
    		switch (num) {
    			case 0:
    				retour = "Attaque 1";
    				break;
     
    			case 1:
    				retour = "Attaque 2";
    				break;
     
    			default: 
    				retour = "--";
    				break;
     
    		}
    		return retour;
    	}
     
    }
    Puis, dans la classe Perso, quand je veux afficher le moveset, c'est à dire, à partir de mes entiers dans le tableau moveset[], je veux faire une string avec le nom des attaques correspondant à ces entier, j'ai écrit cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	public String getMoveset(){
    		String retour="Moveset: ";
    		for(int move: moveset){
    			retour += quelleAttaque(move);
    		}
    		return retour;
    	}
    Voila, comme j'ai déclaré la méthode quelleAttaque en static, je n'ai pas besoin d'instancier d'objet pour l'appeler, mais, il me sort cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ./Perso.java:192: cannot find symbol
    symbol  : method quelleAttaque(int)
    location: class Perso
                            retour += quelleAttaque(move);
                                          ^
    1 error

    Alors, la question est : ou est e probléme ^^

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Points : 75
    Points
    75
    Par défaut
    Salut,

    quelleAttaque est une méthode de la classe attaque.
    =>
    Attaque.quelleAttaque(1);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    OK, merci pour cette petite précision ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redéfinir une méthode static dans une classe dérivée
    Par michelp3 dans le forum Général Java
    Réponses: 5
    Dernier message: 06/05/2015, 22h28
  2. Réponses: 2
    Dernier message: 11/02/2012, 08h57
  3. Utiliser une méthode non-static dans une méthode static
    Par mcfly37 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 18/08/2010, 11h41
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 16
    Dernier message: 26/10/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo