Новые проблемы с компилятором одного и того же проекта, но в другой рабочей области - PullRequest
1 голос
/ 28 декабря 2010

У меня полностью работает проект Android, затем я создал отдельное рабочее пространство и импортировал этот проект в него.В этом новом рабочем пространстве Eclipse показывает мне несколько похожих проблем и советы по удалению аннотаций @Override для некоторых методов, таких как:

     button.setOnClickListener(new View.OnClickListener() {

         @Override
   public void onClick(View v) {

   }
  });

Я проверил свойства проекта, JRE и API Android - все похоже.Я пытался очистить проект, это не помогло.

Описание ошибки Eclipse:

 The method onClick(View) of type new View.OnClickListener(){} must override a
 superclass method  Ovals.java  /FlyingOvals/src/com/g/g    line 38 Java Problem

Почему это может быть и где я должен искать, чтобы исправить эти проблемы?

1 Ответ

3 голосов
/ 28 декабря 2010

Проверьте свой уровень соответствия Java в новом рабочем пространстве.В Java 5 @Override не допускался при реализации методов из интерфейса.В Java 6 это было разрешено.Eclipse помечает предупреждение стиля кода для этого случая, если это применимо.Вы можете либо установить уровень соответствия Java на Java 5 (в идеале в проекте, чтобы параметры сохранялись), либо вы можете выборочно отключить это предупреждение для проекта.

См. Свойства проекта -> Компилятор Java

См. Свойства проекта -> Компилятор Java -> Предупреждения об ошибках.

Следует добавить, что обычно рекомендуется использовать аннотацию @Override.так как он предупредит вас, когда базовый класс изменится.Рассмотрим класс Foo с методом abc () и производный класс Bar, который переопределяет этот метод.Если вы пометите метод abc () в Bar с помощью @Override, когда кто-то переименует метод abc () в Foo, вы получите предупреждение, так как Bar.abc () больше не переопределяет что-либо при объявлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...