当前位置: 首页 > 面试题库 >

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

司英飙
2023-03-14
问题内容

我正在使用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

我可以知道导致此代码错误的原因吗?


问题答案:

我有一个类似的问题:

枚举无法解析为类型

Eclipse Enum改为提供导入。

我去了

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

重建enum后被正确识别。



 类似资料:
  • 我无法解决getWindow();由于某种原因的方法...

  • 问题内容: 我刚刚下载了Hibernate 4.0.1最终版本的新版本。当我键入以下代码时,很奇怪: Eclipse IDE在STRING关键字上显示错误。我确定我的构建路径中有hibernatejar,并且还包含了以下代码: 我只是想知道为什么会发生这种情况? 问题答案: 因为该字段在4.0中不存在。 3.5中的现场文档说: 不推荐使用。 看到 http://opensource.atlassi

  • 我想使用AndroidX库,下面是我的巴特刀的分级设置 应用:模块依赖关系 插件 项目依赖 项目存储库

  • 问题内容: 如果语言设计者仅使用Enum 会对语言产生怎样的影响? 现在唯一的区别是有人会写 A扩展 但由于Java中不允许扩展枚举,因此仍然是非法的。我也在考虑为jvm提供一个字节码,该字节码将smth定义为扩展枚举-但是泛型不会受到影响,因为它们都被删除了。 那么,声明的重点是什么? 谢谢! 编辑 为简单起见,让我们来看一个例子: 这个类结构有什么问题?限制可以做什么? 问题答案: 这是一个普

  • 问题内容: 是否有比这更好的“解决方法”?访问TableMap上的方法时,我想避免使用PREFIX(局部变量)。 解决方法! 需要! 整个代码示例: 问题答案: 我认为您可能正在尝试将过多的情报投入其中。 我发现这种方法非常有用。它避免了由于无法扩展s 而引起的许多问题(实际上,您可以但不能以非常有用的方式)。 本质上,将其作为子类并将其特性作为传递给您的超类。这样,您仍然可以获得包括类型安全性在

  • 问题内容: 我不明白为什么Java注释中没有继承关系,就像Java类一样。我认为这将非常有用。 例如:我想知道给定的注释是否为验证者。通过继承,我可以自反地浏览超类,以了解此注释是否扩展了。否则,我该如何实现? 那么,谁能给我这个设计决定的理由? 问题答案: 关于未采用这种方式进行设计的原因,你可以在JSR 175设计常见问题解答中找到答案,其中说: 你为什么不支持注释子类型化(一种注释类型扩展了