почему enum не может быть решен в JAVA? - PullRequest
2 голосов
/ 01 июля 2011

Я использовал J2EE Eclipse Indigo, и мне нужно объявить три класса следующим образом:

public interface ClassA {
   public static enum TYPE { TYPE1, TYPE2 };
}

public interface ClassB extends ClassA {

}

public class ClassC implements ClassB {
   System.out.println(TYPE.TYPE1);
}

Произошла ошибка компиляции TYPE в ClassC.Он жалуется, что "enum не может быть разрешен типу".А также предупреждение для enum в ClassA, он жалуется, что:

Multiple markers at this line
 - 'enum' should not be used as an identifier, since it is a reserved keyword from source level 1.5 on
 - enum cannot be resolved to a type
 - Syntax error, insert ";" to complete FieldDeclaration

Могу ли я узнать, что является причиной ошибки в этом коде?

Ответы [ 4 ]

10 голосов
/ 16 ноября 2012

У меня была похожая проблема:

enum не может быть преобразован в тип

Вместо Eclipse предлагается импортировать Enum.

Я пошел к

  • Настройки-> Java-> Installed_JREs-> Execution_environment;
  • Выбранный JavaSE-1.6 на панели «Среды исполнения»; и
  • Проверено jre6 на панели Compatible JREs.

После восстановления enum был правильно распознан.

6 голосов
/ 01 июля 2011
  • первый компилируется нормально. Проверьте свой уровень компилятора (должно быть не менее 1,5)
  • inteRface
  • вы не можете поместить код в тело метода, как вы это делали в ClassC. Это должно быть в методе или в блоке
0 голосов
/ 01 июля 2011

Вы должны написать код либо в методе, либо в блоке static (присваивая статические значения). Ваш System.out.println() записан в class. Создайте метод и поместите туда System.out.println().

0 голосов
/ 01 июля 2011

Вы набрали inteface для interface.

Возможно, ваш компилятор слишком стар, так что он не знает, что enum является ключевым словом.

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