【问题标题】:Why does the "@override" before functions in examples give errors?为什么示例中函数之前的“@override”会出错?
【发布时间】:2012-10-06 15:25:22
【问题描述】:

在很多 android 示例中,他们让我重写了似乎不存在的函数,因为 @override 说它必须重写超类。这几乎每次都发生在日食中。我通常可以将其删除,并且它似乎可以工作。

这是一个来自 OpenGL 示例的示例

public class MultisampleConfigChooser implements GLSurfaceView.EGLConfigChooser {
static private final String kTag = "GDC11";
@Override
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {

它告诉我chooseConfig 需要覆盖一个超类,谁能告诉我我缺少什么?

谢谢

编辑:我不认为它是 JDK,因为还有其他没有给出错误的东西被覆盖。它主要只是任何 opengl 示例,但它发生在 4 个不同的示例中,如果我将它们注释掉,前几个刚刚起作用,但其中一些有 20 个被覆盖的函数,我只是想让它运行以查看它的功能。

【问题讨论】:

  • 可能不相关:您的配置是否正确? stackoverflow.com/questions/5926316/…
  • 旧的 Java 规范不允许接口方法使用 @Override(仅用于继承)。我不确定确切的细节,但也许您需要更改您正在使用的 JDK...

标签: java android eclipse


【解决方案1】:

这与您的“编译器合规性级别”设置有关。您可能已将其设置为 1.5 或更低。将其设置为 1.6 以消除错误。

Window | Preferences | Java | Compiler | JDK Compliance | Compiler Compliance Level

【讨论】:

  • hmm.. 请检查您是否在项目级别设置它。 Project | Properties | Java Compiler
  • 很奇怪。它是 1.5,当我将其更改为 1.6 时,它说我必须重建,好的,我重建并且控制台中仍然出现错误以及此消息:Android 需要编译器合规级别 5.0 或 6.0。而是找到了“1.7”。请使用 Android 工具 > 修复项目属性。
  • 是的,Android 不喜欢 1.7 。您应该能够使用 1.6 并且也不会出现这些错误。尝试干净的构建和类似的东西。
  • 好吧,你的权利大约是 1.7,它不喜欢它并没有意识到我把它改成这样。但 1.6 并没有使 &override 错误消失。所以问题仍然存在
  • 一般改成1.6就可以解决问题了。如果没有,请尝试清理您的项目或重新启动 eclipse - 如果您的文件不同步,有时会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2019-04-05
  • 2015-11-24
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多