Проблема с аннотацией @Override - PullRequest
2 голосов
/ 16 декабря 2010

Я делаю Java-приложение, похожее на апплет Banko. Я очень хорошо подошел, когда столкнулся с методом public void init (). Когда я закончил, все скомпилировано, кроме этого. Он сказал мне, чтобы добавить аннотацию @Override. Я пробовал это, но всякий раз, когда я делаю, независимо от того, где я его положил, компилятор завершается с ошибкой:

не может найти символ

символ: переопределение класса

расположение: класс aBomb. Бомба

Понятия не имею, что может помешать правильной работе приложения. : | Если вы найдете в коде, который я написал ниже, что-то, что, по вашему мнению, должно быть изменено, сообщите мне. Я относительно новичок в 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 ]

7 голосов
/ 16 декабря 2010

Прежде всего, действительно поможет, если вы включите хотя бы определение класса (часть "public class ...".)

Я предполагаю, чтоу вас есть класс с именем 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.

2 голосов
/ 16 декабря 2010

Класс аннотации, который вы пытаетесь использовать, - java.lang.Override.Это импортируется по умолчанию.

Проверьте следующее:

  • Аннотация - @Override, но в сообщении об ошибке говорится, что вы записали его как @Overrides.Проверьте исходный код на наличие орфографических ошибок.

  • Вы используете Java 5.0 или более позднюю версию.

  • Вы не использовали -source или -target переключатели компиляции для компиляции для более старой версии Java.

  • Вы не используете -bootclasspath (или что-то еще) для компиляции с нестандартной библиотекой классов.

1 голос
/ 16 декабря 2010

Аннотация называется @Override, а не @Overrides. Он идет перед методом переопределения, например:

@Override
public void init() {
   ...
...