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

エラーが表示されます: The method c ontains(Object)of type Teammust override or implement a supertype method

4

3 に答える 3

4

エラーは、「オーバーライドするメソッドがない」ことを意味します。boolean contains(Object o)スーパークラスまたはインターフェースには、指定されたメソッドがオーバーライドできるメソッドがありません。

于 2012-10-07T23:04:07.780 に答える
2

方法

public boolean contains(Object o)

注釈が使用されTeamている場合は、のスーパークラスまたはインターフェースにも表示する必要があります。@Overrideコンパイラは、このメソッドが見つからないことを示しています。

修正するには、マーカーを削除するか、@Overrideこのメソッドを既に含むクラスを拡張します。

于 2012-10-07T23:04:58.717 に答える
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コンパイラに、次のメソッドがスーパータイプ/インターフェースで定義されたメソッドをオーバーライドすることを伝えます。

于 2012-10-08T08:23:52.583 に答える