@Override编译错误,实现接口(eclipse jdk1.6.0_23 linux)

2022-09-03 05:48:54

在对正在实现接口的类使用@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; }
}

答案 1

此功能仅在 Java 6 及更高版本中有效。我看到你正在使用jdk 1.6。很好。可能的原因:您正在使用 进行编译。事实果真如此吗?如果是这样,您可以将其更改为?-source 1.5-source 1.6


答案 2

我也面临问题,刚刚解决。在 Project->右键单击>属性> Java 编译器中,将“编译器合规性级别”更改为 1.6。


推荐