Джава.Метод переопределения - PullRequest
1 голос
/ 11 декабря 2011
public class MyMap extends LinkedHashMap<String, Serializable>
{
    @Override
    public Serializable get(String key)
    {
        return null;
    }
}

ошибка: метод не переопределяет или не реализует метод из супертипа

Ответы [ 3 ]

3 голосов
/ 11 декабря 2011

Подпись get является public V get(Object key)

Таким образом, вам нужно изменить тип параметра на Object вместо String.

3 голосов
/ 11 декабря 2011

Метод , который вы пытаетесь переопределить, имеет следующую подпись:

public Serializable get(Object key);

Чтобы переопределить его, аргумент вашего метода должен иметь тип Object, а не String:

public class MyMap extends LinkedHashMap<String, Serializable>
{
    @Override
    public Serializable get(Object key)
    {
        return null;
    }
}
3 голосов
/ 11 декабря 2011

Удалить аннотацию @Override. Это исправит ошибку.

Имейте в виду, что если вы на самом деле хотите переопределить какой-либо родительский метод, это не то, что вы хотите сделать. Вместо этого ищите возможные опечатки, ошибки или несоответствия типов в вашем методе get.

В вашем случае вы, вероятно, хотите:

@Override
public Object get(Object key)
{
    return null;
}
...