@Override注释出现问题

时间:2010-12-16 01:16:49

标签: java override

我正在创建一个类似于Banko applet的Java应用程序。当我点击“public void init()”方法时,我的表现很好。当我完成时,除了那之外所有编译。它告诉我添加@Override注释。我试过了,但每当我这样做时,无论我把它放在哪里,编译器都会失败并出现以下错误:

无法找到符号

symbol:class覆盖

位置:类aBomb.Bomb

我不知道是什么阻止了应用程序正常执行。 :| 如果您在下面写的代码中找到了您认为应该更改的内容,请告诉我。我是Java的新手:( 代码:

public void init() {
    BorderLayout border = new BorderLayout();
    setLayout(border);

    JPanel top = new JPanel();
    JLabel moneyLabel = new JLabel("Money : $");
    moneyField = new JTextField("", 8);
    moneyField.setEditable(false);
    JLabel foundLabel = new JLabel("Found: ");
    foundField = new JTextField("", 8);
    foundField.setEditable(false);

    restart = new JButton("Restart");
    restart.addActionListener(this);
    top.add(moneyLabel);
    top.add(moneyField);
    top.add(foundLabel);
    top.add(foundField);
    top.add(restart);
    add(top, BorderLayout.NORTH);

    board = new Board(this, ROW_COUNT, COLUMN_COUNT, BOMB_COUNT);
    add(board, BorderLayout.CENTER);
    setup();
    setVisible(true);
}

3 个答案:

答案 0 :(得分:7)

首先,如果您至少包含了类定义(“公共类......”部分),它将真正帮助。)

我猜你有一个名为aBomb的类,它从Applet扩展而来:

public class aBomb extends Applet {
//...
    // Here's the init method; the @Override goes
    // immediately before the declaration.
    @Override
    public void init() {
//...
};

错误消息看起来好像@Override拼写为@Overrides

答案 1 :(得分:2)

您尝试使用的注释类是java.lang.Override。这是默认导入的。

检查以下内容:

  • 注释为@Override,但错误消息显示您将其拼写为@Overrides。检查源代码是否存在拼写/输入错误。

  • 您使用的是Java 5.0或更高版本。

  • 您尚未使用-source-target编译开关来编译旧版Java。

  • 您没有使用-bootclasspath(或其他)来编译非标准类库。

答案 2 :(得分:1)

注释名为@Override,而不是@Overrides。它超越了最重要的方法,如:

@Override
public void init() {
   ...