开发者

why enum could not be resolved in JAVA?

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜