如何修复 JAVA VS 代码中的实现错误,“必须实现继承的抽象类”

Posted

技术标签:

【中文标题】如何修复 JAVA VS 代码中的实现错误,“必须实现继承的抽象类”【英文标题】:How do I fix implementation error in JAVA VS code, "must implement the inherited abstract class" 【发布时间】:2020-11-14 22:17:52 【问题描述】:

我目前正在学习接口、类和泛型。

我目前的任务是创建一个模仿 Java 中“ArrayLists”的类。 (可能是java 7)

this is the interface

我创建了一个类:public class StudentArrayList implements SimpleArrayList<E> 但我收到此错误:I am getting this error

错误:The type StudentArrayList must implement the inherited abstract method SimpleArrayList<E>.set(int, E)Java(67109264)

我已经实现了类中的所有函数签名,但仍然是我一次又一次地要求实现。 我该如何解决这个问题?请告诉我。 谢谢!

StudentArrayList.java:

public class StudentArrayList implements SimpleArrayList<E> 

    public static void main(String[] args) 
        System.out.println("Success");
    

    @Override
    public int size() 
        // TODO Auto-generated method stub
        return 0;
    

    @Override
    public boolean isEmpty() 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public boolean contains(E o) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public E[] toArray() 
        // TODO Auto-generated method stub
        return null;
    

    @Override
    public void add(E e) 
        // TODO Auto-generated method stub

    

    @Override
    public void remove(E o) 
        // TODO Auto-generated method stub

    

    @Override
    public boolean containsAll(SimpleArrayList<E> c) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public boolean addAll(SimpleArrayList<E> c) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public boolean addAll(int index, SimpleArrayList<E> c) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public boolean removeAll(SimpleArrayList<E> c) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public boolean retainAll(SimpleArrayList<E> c) 
        // TODO Auto-generated method stub
        return false;
    

    @Override
    public void clear() 
        // TODO Auto-generated method stub

    

    @Override
    public E get(int index) 
        // TODO Auto-generated method stub
        return null;
    

    @Override
    public void set(int index, E element) 
        // TODO Auto-generated method stub

    

    @Override
    public void add(int index, E element) 
        // TODO Auto-generated method stub

    

    @Override
    public void remove(int index) 
        // TODO Auto-generated method stub

    

    @Override
    public int indexOf(E o) 
        // TODO Auto-generated method stub
        return 0;
    

    @Override
    public int lastIndexOf(E o) 
        // TODO Auto-generated method stub
        return 0;
    

    @Override
    public SimpleArrayList subList(int fromIndex, int toIndex) 
        // TODO Auto-generated method stub
        return null;
    

`

【问题讨论】:

MS Visual Code 很棒……但对于 Java,我强烈推荐 Eclipse(我的偏好)、NetBeans 或 IntelliJ 之类的 IDE。 IntellJ 由于某种原因无法在我的计算机上运行,​​我必须尽快提交此作业,所以我不能花时间安装/修复 IntellJ 然后使用文本编辑器。 Sublime Text、Atom、Notepad++。 【参考方案1】:

您似乎正在尝试编写实现通用接口的通用类。问题是您实际上并没有将该类声明为泛型。因此编译器认为E 是一个类名。

声明:

public class StudentArrayList implements SimpleArrayList<E> 

应该是:

public class StudentArrayList<E> implements SimpleArrayList<E> 

StudentArrayList 之后的&lt;E&gt;E 声明为StudentArrayList 的类型参数。

编译错误可能是编译器认为E 是一个类名(而不是类型参数)而不是为它找到任何定义的结果。

【讨论】:

以上是关于如何修复 JAVA VS 代码中的实现错误,“必须实现继承的抽象类”的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上修复 VS 2019 中的 SFML 错误?

如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?

如何在 MacOS Monterey 上修复 VS COde“致命错误:运行时:bsdthread_register 错误”

如何修复“必须向文本小部件提供非空字符串”。颤振错误?

FxCop VS2013 有人知道警告标识符是啥吗?

如何修复“索引(基于零)必须大于或等于零”错误[重复]