I was using J2EE Eclipse Indigo, and I have three class declare like this:
public interface ClassA {
public static enum TYPE { TYPE1, TYPE2 };
}
public interface ClassB extends ClassA {
}
public class ClassC implements ClassB {
System.out.println(TYPE.TYPE1);
}
There was a compilation error on TYPE in ClassC. It complain that "enum cannot be resolved to a type". And also a warning for enum in ClassA, it complain that:
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
May I know what cause the error in this code?
I had a similar problem:
enum can't be resolved to a type
Eclipse offered to import Enum
instead.
I went to
- Preferences->Java->Installed_JREs->Execution_environment;
- Selected JavaSE-1.6 in "Execution Environments" pane; and
- Checked jre6 in
Compatible JREs
pane.
After rebuild enum
was recognized properly.
- the first compiles fine. Check your compiler level (should be at least 1.5)
inteRface
- you cannot put code in the method body, as you did in
ClassC
. It should be in a method or in a block
You mistyped inteface
for interface
.
Maybe your compiler is too old, so that it doesn't know that enum
is a keyword.
You must write code either in a method or in a static
block (assigning static values). Your System.out.println()
is written into a class
. Create method and put System.out.println()
there.
精彩评论