【发布时间】:2010-09-28 05:30:25
【问题描述】:
我已经使用 JDK1.6 在 Eclipse Helios 中创建了一个项目/类文件。我已经让 eclipse 为一个接口的实现类生成代码。
public interface Foo {
void bar();
}
public class FooImpl implements Foo {
@Override
public void bar() {
}
}
到目前为止一切顺利。现在由于某种原因,我已将项目导入到具有 JDK 1.5 的 Eclipse 中,并且我看到错误消息 The method bar() of type FooImpl must override a superclass method 并快速修复了 remove '@Override' annotation。
谷歌搜索后,我知道有类似OVERRIDE_SNAUF 的东西——其中更新了 6.0 Java 编译器以允许在接口方法实现上使用 @Override。
【问题讨论】:
-
我不是 Java 专家,但您并没有重写方法,因为接口不提供实现,但我猜您自己想通了。那有什么问题呢?只是大声思考?
-
问题是什么?如何在 Java 6 和 Java 5 之间获得一致的行为。也许检查stackoverflow.com/questions/2135975/…。但是你为什么要使用 Java 5 呢?
标签: java overriding jdk1.6 jdk1.5