为什么枚举无法在JAVA中解决?

时间:2011-07-01 05:46:44

标签: java enums

我使用的是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);
}

ClassC中的TYPE存在编译错误。它抱怨“枚举不能解决为一种类型”。它也是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 个答案:

答案 0 :(得分:10)

我遇到了类似的问题:

  

枚举无法解析为类型

Eclipse提供了导入Enum的代替。

我去了

  • 首选项> Java的> Installed_JREs-> Execution_environment;
  • 在“执行环境”窗格中选择JavaSE-1.6;和
  • Compatible JREs窗格中检查了jre6。

重建后enum被正确识别。

答案 1 :(得分:6)

  • 第一个编译好。检查编译器级别(应至少为1.5)
  • inteRface
  • 您不能像在ClassC中那样将代码放在方法体中。它应该是一个方法或一个块

答案 2 :(得分:0)

您为inteface错误输入interface

也许你的编译器太旧了,所以它不知道enum是一个关键字。

答案 3 :(得分:0)

您必须在方法或static块中编写代码(分配静态值)。您的System.out.println()已写入class。创建方法并将System.out.println()放在那里。