我使用的是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
我可以知道导致此代码出错的原因是什么吗?
答案 0 :(得分:10)
我遇到了类似的问题:
枚举无法解析为类型
Eclipse提供了导入Enum
的代替。
我去了
Compatible JREs
窗格中检查了jre6。 重建后enum
被正确识别。
答案 1 :(得分:6)
inteRface
ClassC
中那样将代码放在方法体中。它应该是一个方法或一个块答案 2 :(得分:0)
您为inteface
错误输入interface
。
也许你的编译器太旧了,所以它不知道enum
是一个关键字。
答案 3 :(得分:0)
您必须在方法或static
块中编写代码(分配静态值)。您的System.out.println()
已写入class
。创建方法并将System.out.println()
放在那里。