gpt4 book ai didi

java - 如何修复 JAVA VS 代码中的实现错误, "must implement the inherited abstract class"

转载 作者:行者123 更新时间:2023-12-01 13:37:06 25 4
gpt4 key购买 nike

我目前正在学习接口(interface)、类和泛型。
我目前的任务是创建一个模仿 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;
}

}`

最佳答案

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

public class StudentArrayList implements SimpleArrayList<E> {
应该:
public class StudentArrayList<E> implements SimpleArrayList<E> {
<E>StudentArrayList 之后声明 E作为 StudentArrayList 的类型参数.
编译错误可能是编译器认为 E 的结果。是一个类名(而不是类型参数),而不是为它找到任何定义。

关于java - 如何修复 JAVA VS 代码中的实现错误, "must implement the inherited abstract class",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63083895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com