Java:实现一个可绘制的类

时间:2010-02-09 23:38:00

标签: java graphics implementation maze

我正在尝试用Java制作迷宫游戏。

Explorer类代表用户,DrawableExplorer是以图形方式表示用户的代码。 DrawableExplorer实现了Drawable接口,其中包含:

    import java.awt.Graphics;

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

这成功编译但是,我无法弄清楚为什么我的DrawableExplorer类不是:

    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);

                }
        }
}

它要求返回类型,但不是我的方法无效吗?

编译器错误消息显示“无效的方法声明;需要返回类型”

2 个答案:

答案 0 :(得分:3)

您需要将该类声明为:

public class DrawableExplorer extends Explorer implements Drawable

即。 extends子句必须在之前 implements子句。

另一个错误是您已在draw的构造函数体内声明了DrawableExplorer方法。鉴于您已经定义了一个带有三个参数的构造函数,您通常希望在构造函数体中处理它们(您当前忽略它们);例如通过将它们分配给实例变量。

答案 1 :(得分:0)

我非常确定您不能在构造函数中声明方法。编译器甚至不知道应该包含什么内容,因此它为您提供了第一个可以为您提供的明显错误修复程序。编译器看不到您想要做什么。它只是为遇到的最小问题提供解决方案。