我正在尝试编译以下程序并继续收到抽象方法错误。我正在尝试编译的程序如下(尽管尚未完成)。我收到的错误如下:
Double.java:5: error: Double is not abstract and does not override abstract method getNext() in ListInterface
public class Double<T extends Comparable<T>> implements ListInterface<T>{
^
where T is a type-variable:
T extends Comparable<T> declared in class Double
1 error
import java.io.*;
import ch06.lists.*;
import support.DLLNode;
public class Double<T extends Comparable<T>> implements ListInterface<T>{
protected DLLNode<T> front;
protected DLLNode<T> rear;
protected DLLNode<T> curPosition;
protected int numElements;
public Double(){
front = null;
rear = null;
curPosition = null;
numElements = 0;
}
protected DLLNode<T> find(T target){
}
public int size(){
return numElements;
}
public boolean contains(T element) throws NullPointerException{
if (DLLNode.getInfo()!=element){
return false;
}
else{
return true;
}
}
public boolean remove(T target) throws StackUnderflowException{
if (!contains(target)){
return false;
}
else{
return true;
DLLNode.setLink()==null;
}
}
public T get(T element){
return find(element);
}
public String toString(){
}
public void reset(){
}
@Override
public T getNext(){
return null;
}
public void resetBack(){
}
public T getPrevious(){
}
public void add(T element){
}
}
答案 0 :(得分:0)
它表示您没有覆盖getNext()
中的ListInterface
方法,目前您有两种getNext()
方法。我很惊讶它没有告诉你这个,但我想它正在看第一个并且看到它与ListInterface.java
的预期不一样。删除public DLLNode<T> getNext()
方法,错误应该消失。
问题的真正解决方案是让自己成为一个好的IDE,比如Eclipse或IntelliJ。他们将突出显示代码中所有问题的位置,并为您提供有关如何解决问题的建议。通常,使用IDE最困难的部分是正确设置它,所以我建议您搜索一下您决定使用的IDE的教程。
答案 1 :(得分:0)
知道了!
你错过了}}:
public boolean remove(T target) throws StackUnderflowException{
if (DLLNode.contains()==target){
return true;
DLLNode.setLink()==null;
}
虽然我真的不明白你在这里尝试做什么......
在:
public boolean remove(T target) throws StackUnderflowException{
if (!contains(target)){
return false;
}
else{
return true;
DLLNode.setLink()==null;
}
}
您无法返回值并执行其他命令。切换返回顺序&amp; DLLNode.setLink()==null;
答案 2 :(得分:0)
这里有很多错误。
一些:
1
protected DLLNode<T> find(T target){
需要退货。
2
public String toString(){
需要退货。
3
public T getPrevious(){
需要退货。
4
protected DLLNode<T> find(T target) {
,而
public T get(T element) {
return find(element);
}
看到get()返回T而find()返回DLLNode<T>
编译器只是对所有这些感到困惑,并告诉你至少要解决一些问题:)