public class MyMap extends LinkedHashMap<String, Serializable>
{
@Override
public Serializable get(String key)
{
return null;
}
}
錯誤:方法不覆蓋或從超Java。覆蓋方法
public class MyMap extends LinkedHashMap<String, Serializable>
{
@Override
public Serializable get(String key)
{
return null;
}
}
錯誤:方法不覆蓋或從超Java。覆蓋方法
取出@Override
註釋實現的方法。這將解決錯誤。
請記住,如果你實際上想要重寫某些父方法,這不是你想要做的。相反,請在您的get
方法中查找可能的拼寫錯誤,錯誤或類型不匹配。
在你的情況,你可能想:
@Override
public Object get(Object key)
{
return null;
}
的get
簽名是public V get(Object key)
所以,你需要的參數類型更改爲Object
,而不是String
。
的method你試圖重寫具有以下特徵:
public Serializable get(Object key);
要覆蓋它,你的方法的參數,因此必須爲Object
型的,而不是String
:
public class MyMap extends LinkedHashMap<String, Serializable>
{
@Override
public Serializable get(Object key)
{
return null;
}
}
爲什麼公衆V get(Object key)成功覆蓋 @Override public Serializable put(String key,Serializable value) { } ? – Ufx
@ user1034253:我很抱歉,但我不明白這個問題。 – NPE
public Serializable put(String key,Serializable value) - 編譯後的public Serializable get(String key)如你所說需要替換String by Object – Ufx