该方法必须重写一个超类方法。

3
最近我将电脑升级到Ubuntu 11.10 64位。在导入项目时遇到了问题,出现了一个错误:“方法onView()必须覆盖超类的方法”。我在其他帖子中读到过这个错误是由于使用Java 1.5引起的,但Ubuntu 11.10自带open-6-jdk。有没有解决方案的想法?

你是否遇到了理解错误信息的问题,或者在正确配置JDK / Eclipse方面遇到了困难? - aioobe
这是一个与JDK有关的奇怪问题,只要我更新了电脑之前所有东西都能正常工作。 - Pedro Teran
在Eclipse中,您仍然可以决定选择一个不同于已安装的Java运行时环境。在Java 5中,@Override不能用于实现接口方法的方法,而在Java 6中则强烈建议使用。如果您将项目配置为Java 5环境,则可能会出现此类错误。 - Guillaume Polet
3个回答

13

看起来你的项目的JDK兼容级别设置为1.5。(安装在计算机上的Java版本仅确定您可以将兼容级别设置多高。)您可以通过在Eclipse中打开项目属性(右键单击项目名称,然后选择“属性”),然后在左侧选择“Java编译器”来检查此设置。

在Java 1.6中, 应该对实现了接口的方法使用@Override注释。Java 1.5不允许这样做。


@PedroTeran - 你有检查工作区属性或项目属性吗?它们可能不同。 - Ted Hopp
我之前已经检查了工作区,项目属性是1.5,我忘记检查那里了,这就是问题所在,谢谢。 - Pedro Teran
谢谢。当我遇到这个令人头痛的错误时,我才想起来。 - bnguyen82

1
也许你的电脑上安装了多个 Java 虚拟机。请键入
$ ls /usr/lib/jvm

你在那里看到了多个条目吗?

如果是,请启动Eclipse并转到“帮助”->“关于Eclipse平台”->“配置详细信息”,然后查找属性java.version(对我来说是1.7.0_03-icedtea)。

如果它是错误的版本,您可以转到“窗口”->“首选项”->“Java”->“已安装的JREs”,然后将其更改为所需版本。


是的,我有open-6-jdk和open-7-jdk,但在帮助中java.version=1.6.0_23。 - Pedro Teran

0

现在是2020年 -

项目>右键>Java编译器>编译器兼容性级别>将其更改为1.8 [或最新级别] 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接