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

如何修复JAVA VS代码中的实现错误;必须实现继承的抽象类;,java,class,generics,arraylist,interface,Java,Class,Generics,Arraylist,Interface,我目前正在学习接口、类和泛型 我当前的任务是创建一个模仿Java中“ArrayList”的类。(可能是java 7) 我创建了一个类:public类StudentArrayList实现了SimpleArrayList{ 但我得到了这个错误: 错误:类型StudentArrayList必须实现继承的抽象方法SimpleArrayList.set(int,E)Java(67109264) 我已经实现了类中的所有函数签名,但仍然是我一次又一次地要求实现。 如何解决此问题?请让我知道。 谢谢 Stud

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

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

我创建了一个类:
public类StudentArrayList实现了SimpleArrayList{
但我得到了这个错误:

错误:
类型StudentArrayList必须实现继承的抽象方法SimpleArrayList.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;
    }

}`
公共类StudentArrayList实现SimpleArrayList{
公共静态void main(字符串[]args){
System.out.println(“成功”);
}
@凌驾
公共整数大小(){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共布尔值为空(){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔包含(EO){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共E[]toArray(){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共空间添加(E){
//TODO自动生成的方法存根
}
@凌驾
删除公共空间(E o){
//TODO自动生成的方法存根
}
@凌驾
公共布尔containsAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔addAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔addAll(int索引,SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔removeAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔保留(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共空间清除(){
//TODO自动生成的方法存根
}
@凌驾
公共E-get(int索引){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共空集(整数索引,E元素){
//TODO自动生成的方法存根
}
@凌驾
公共void add(int索引,E元素){
//TODO自动生成的方法存根
}
@凌驾
公共无效删除(整型索引){
//TODO自动生成的方法存根
}
@凌驾
公共内部索引(EO){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共int lastIndexOf(EO){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共SimpleArrayList子列表(int-fromIndex、int-toIndex){
//TODO自动生成的方法存根
返回null;
}
}`

您似乎试图编写一个实现泛型接口的泛型类。问题是您实际上没有将该类声明为泛型。因此编译器将
E
作为类名

宣言:

public class StudentArrayList implements SimpleArrayList<E> {
公共类StudentArrayList实现SimpleArrayList{
应该是:

public class StudentArrayList<E> implements SimpleArrayList<E> {
公共类StudentArrayList实现SimpleArrayList{
StudentArrayList
之后的
E
声明为
StudentArrayList
的类型参数


编译错误可能是由于编译器认为
E
是一个类名(而不是一个类型参数),并且没有找到它的任何定义。

MS Visual code很棒……但是对于Java,我强烈建议使用类似Eclipse的IDE(我的首选),NetBeans或IntelliJ.IntellJ由于某些原因无法在我的计算机上工作,我必须很快提交此作业,因此我无法花时间安装/修复IntellJUse文本编辑器。升华文本、Atom、记事本++。