为什么我的@override for包含不起作用?

时间:2012-10-07 23:01:50

标签: java

@Override
    public boolean contains(Object o) {
        if ((this.name).equals((String) o)) {
            return true;
        }
        else {
            return false;
        }
    }

我收到错误:类型ontains(Object)的方法c Team必须覆盖或实现超类型方法

3 个答案:

答案 0 :(得分:4)

错误意味着“没有方法可以覆盖”。您的超类或接口没有指定方法可以覆盖的方法boolean contains(Object o)

答案 1 :(得分:2)

方法

public boolean contains(Object o)
如果使用Team注释,

也必须出现在@Override的超类或接口中。编译器显示此方法未找到

要修复此问题,您可以删除@Override标记或扩展已包含此方法的类。

答案 2 :(得分:0)

根据其他答案,一个例子是:

public interface Team {
    public contains(Object o);
}

public class MyTeam implements Team {     
    @Override
    public boolean contains(Object o) {
        if ((this.name).equals((String) o)) {
            return true;
        }
        else {
            return false;
        }
    }
}

抽象和非抽象超类型的想法是一样的。

根据您的错误,@Override注释告诉Java编译器以下方法会覆盖超类型/接口中定义的方法。

相关问题