2010-02-09 23 views
1

J'essaye de faire un jeu de labyrinthe en Java.Java: Implémentation d'une classe drawable

La classe Explorer représente l'utilisateur et DrawableExplorer est le code qui représente graphiquement l'utilisateur. DrawableExplorer implémente l'interface Drawable qui contient:

import java.awt.Graphics; 

    public abstract interface Drawable 
    { 
     public abstract void draw(Graphics paramGraphics); 
    } 

cette compile cependant, je réussi ne peux pas comprendre pourquoi ma classe DrawableExplorer n'est pas:

import java.awt.*; 
    public class DrawableExplorer extends Explorer implements Drawable 

{ 

    public DrawableExpolorer(Square location, Maze maze, String name) 
     { 
      public void draw(Graphics g) 
       { 
        Square location = location(); 
        get.setColor(Color.BLUE); 
        g.fillOval(loc.x() + 10, loc.y() + 10, 30, 30); 

       } 
     } 
} 

Il est demander un type de retour mais pas mon méthode vide?

Le message d'erreur du compilateur dit « déclaration de méthode invalide, le type de retour requis »

Répondre

3

Vous devez déclarer la classe comme:

public class DrawableExplorer extends Explorer implements Drawable 

-à-dire la clause extends doit venir avant la clause implements .

L'autre erreur est que vous avez déclaré votre méthode draw dans le corps du constructeur pour DrawableExplorer. Étant donné que vous avez défini un constructeur qui prend trois arguments, vous voudrez généralement les traiter dans le corps du constructeur (vous les ignorez actuellement); par exemple. en les affectant à des variables d'instance.

+0

Pouvez-vous publier l'erreur de compilation dans votre question d'origine avec le code mis à jour? De plus, j'ai modifié ma réponse pour mettre en évidence une deuxième erreur. – Adamski

+0

Le message d'erreur du compilateur indique "déclaration de méthode non valide; type de retour requis" – dukevin

+2

L'orthographe du constructeur est incorrecte: "DrawableExpolorer" et le compilateur pense qu'il s'agit d'une méthode. – Adamski