【发布时间】:2011-06-27 02:48:06
【问题描述】:
在为实现接口的类使用 @Override 注释时,我在 Eclipse 中遇到编译错误。
编译器合规级别设置为 Java 6.0。
我使用的是最新版本的 6.0 jdk。
错误: “{classname} 类型的方法 {methodname} 必须覆盖超类方法”
相同的代码在具有类似配置的 mac 上运行良好。
public interface ChannelIF {
...
public boolean canSendNarrowcast();
public boolean canSendBroadcast();
}
public class FacebookChannel implements ChannelIF
{
...
@Override
public boolean canSendNarrowcast() { return true; }
@Override
public boolean canSendBroadcast() { return true; }
}
【问题讨论】:
-
你得到的完整编译错误是什么?
-
只是猜测。也许您只检查了工作区编译器合规级别(设置为 6),但您的项目将自己的设置为 jdk5。
-
@Progman - 编辑问题以包含错误字符串
-
@Grzegorz Oledzki - 好建议。此项目正在继承工作区默认值 (6)
-
您使用的是 Eclipse 3.7 里程碑还是夜间构建?可能是最近日食的回归。
标签: java linux eclipse compiler-errors jdk1.6