首页 > 解决方案 > 为什么在其父类中未定义子类构造函数?

问题描述

我这里有一个问题可能很容易解决,但不幸的是我还是有点难过。

public final class ImmutableMap<K, V> extends AbstractReadableMap<K, V>  
{
    public ImmutableMap(Entry<K, V>[] entry)
    {
        super();
    }
}

我有这个类ImmutableMap<K, V>及其构造函数。

public interface ReadableMap<K, V> 
{ 
   public abstract ImmutableMap<K, V> asImmutableMap();
}

我有这个接口ReadableMap<K, V>及其抽象方法 asImmutableMap。


public abstract class AbstractReadableMap<K, V> implements ReadableMap<K, V> 
{
  protected Entry<K, V>[] entries;

  public  ImmutableMap<K, V> asImmutableMap()
          {
              return ImmutableMap(entries);
          }
}

最后我有这个类AbstractReadableMap<K, V>我想在其中实现方法 asImmutableMap()。不幸的是,我收到错误The method ImmutableMap(Entry<K,V>[]) is undefined 对于 AbstractReadableMap<K,V> 类型

public class Launcher 
{
    

        public static void main(String[] args)
        {
            MutableMap<String, Integer> map = new MutableMap<String, Integer>();
            putEntries(map);
            printEntries(map);
            ImmutableMap<String, Integer> immutableMap = asImmutableMap(map);
            printEntries(immutableMap);
        }
}

同样在这里:方法 asImmutableMap(MutableMap<String,Integer>) 对于 Launcher 类型未定义

为什么会这样,我该如何解决?

提前非常感谢!

标签: javaconstructorinterfacesubclassabstract

解决方案


推荐阅读