1

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

                }
        }
}

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

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

4

2 回答 2

3

您需要将类声明为:

public class DrawableExplorer extends Explorer implements Drawable

extends子句必须在子句之前implements

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

于 2010-02-09T23:40:21.723 回答
0

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

于 2019-11-10T12:56:30.273 回答