Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA覆盖方法 公共类MyMap扩展LinkedHashMap { @凌驾 公共可序列化get(字符串键) { 返回null; } }_Java_Overriding - Fatal编程技术网

JAVA覆盖方法 公共类MyMap扩展LinkedHashMap { @凌驾 公共可序列化get(字符串键) { 返回null; } }

JAVA覆盖方法 公共类MyMap扩展LinkedHashMap { @凌驾 公共可序列化get(字符串键) { 返回null; } },java,overriding,Java,Overriding,错误:方法不重写或实现超类型中的方法删除@override注释。这将修复错误 请记住,如果您实际上想要覆盖某个父方法,这不是您想要做的。相反,在get方法中查找可能的打字错误、错误或类型不匹配 在您的情况下,您可能需要: public class MyMap extends LinkedHashMap<String, Serializable> { @Override public Serializable get(String key) {

错误:方法不重写或实现超类型中的方法删除
@override
注释。这将修复错误

请记住,如果您实际上想要覆盖某个父方法,这不是您想要做的。相反,在
get
方法中查找可能的打字错误、错误或类型不匹配

在您的情况下,您可能需要:

public class MyMap extends LinkedHashMap<String, Serializable>
{
    @Override
    public Serializable get(String key)
    {
        return null;
    }
}

删除
@Override
注释。这将修复错误

请记住,如果您实际上想要覆盖某个父方法,这不是您想要做的。相反,在
get
方法中查找可能的打字错误、错误或类型不匹配

在您的情况下,您可能需要:

public class MyMap extends LinkedHashMap<String, Serializable>
{
    @Override
    public Serializable get(String key)
    {
        return null;
    }
}

get
的签名是
public V get(对象密钥)


因此,您需要将参数类型更改为
Object
,而不是
String

get
的签名是
public V get(Object key)

因此,您需要将参数类型更改为
Object
,而不是
String

您试图覆盖的参数具有以下签名:

@Override
public Object get(Object key)
{
    return null;
}
因此,要重写它,方法的参数必须是
对象
,而不是
字符串

public Serializable get(Object key);
公共类MyMap扩展LinkedHashMap
{
@凌驾
公共可序列化get(对象键)
{
返回null;
}
}
您试图覆盖的具有以下签名:

@Override
public Object get(Object key)
{
    return null;
}
因此,要重写它,方法的参数必须是
对象
,而不是
字符串

public Serializable get(Object key);
公共类MyMap扩展LinkedHashMap
{
@凌驾
公共可序列化get(对象键)
{
返回null;
}
}

为什么public V get(Object key)通过@Override public Serializable put(String key,Serializable value){}成功重写?@user1034253:对不起,我不理解这个问题。public Serializable put(String key,Serializable value)-编译的,public Serializable get(String key)正如您所说,需要用替换字符串Object@aix-OP询问为什么
put
不遵循相同的模式。某个地方有一篇关于这个的流行帖子,我们应该把它链接起来。@user1034253-看看这篇帖子:为什么public V get(Object key)成功地被@Override public Serializable put(String key,Serializable value){}覆盖了?@user1034253:很抱歉,我不明白这个问题。public Serializable put(字符串键,可序列化值)-如您所说,已编译的公共可序列化get(字符串键)需要替换为字符串Object@aix-OP询问为什么
put
不遵循相同的模式。某个地方有一篇关于这一点的流行帖子,我们应该将其链接起来。@user1034253-请参阅此帖子: