Java:实现可绘制类

问题描述 投票:1回答:2

我正在尝试用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);

                }
        }
}

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

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

java graphics implementation maze
2个回答
3
投票

您需要将类声明为:

public class DrawableExplorer extends Explorer implements Drawable

extends子句必须before implements子句。

另一个错误是您已经在draw的构造函数主体中声明了DrawableExplorer方法。假设您已经定义了一个带有三个参数的构造函数,则通常需要在构造函数主体中对其进行处理(当前您将其忽略)。例如通过将它们分配给实例变量。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.