从Java中的泛型约束接口继承
在我的家庭作业中,我们应该通过覆盖给定的通用接口来实现一个双链接列表和该列表中的元素。由于我不知道如何处理泛型或接口,我目前甚至不确定如何询问我做错了什么 对我来说,尤其是父类中受约束的泛型是令人困惑的,因为我如何正确地从它继承,以及我是否需要在子类定义中显式地包含泛型 我们得到了:从Java中的泛型约束接口继承,java,generics,Java,Generics,在我的家庭作业中,我们应该通过覆盖给定的通用接口来实现一个双链接列表和该列表中的元素。由于我不知道如何处理泛型或接口,我目前甚至不确定如何询问我做错了什么 对我来说,尤其是父类中受约束的泛型是令人困惑的,因为我如何正确地从它继承,以及我是否需要在子类定义中显式地包含泛型 我们得到了: import java.util.Iterator; import java.util.NoSuchElementException; public interface ListInter
import java.util.Iterator;
import java.util.NoSuchElementException;
public interface ListInterface<T extends Comparable<T>> extends Iterable<T> {
//Some methods
}
import java.util.Iterator;
导入java.util.NoSuchElementException;
公共接口ListInterface扩展了Iterable{
//一些方法
}
我尝试实现列表和列表的节点:
import java.util.Iterator;
import java.util.NoSuchElementException;
public class List<E extends Comparable<E>> implements ListInterface<T extends Comparable<T>> {
private ListItem<E> head;
private ListItem<E> tail;
//List Constructor
public List(){//standard constructor initializes empty List
this.head = null;
this.tail = null;
}
//Helper class, encapsulates Node of Linked List
private class ListItem<E extends Comparable<E>>{
private E value;
private ListItem previous;
private ListItem next;
public ListItem(E value){
this.value = value;
}
}
//Overriding Some methods
public static void main(String[] args){
List asdf = new List();
}
}
import java.util.Iterator;
导入java.util.NoSuchElementException;
公共类列表实现了ListInterface{
私人名单项目负责人;
私有列表项尾部;
//列表构造函数
public List(){//标准构造函数初始化空列表
this.head=null;
this.tail=null;
}
//助手类,封装链表的节点
私有类列表项{
私人股本价值;
以前的私有列表项;
私有列表项下;
公共列表项(E值){
这个值=值;
}
}
//重写某些方法
公共静态void main(字符串[]args){
List asdf=新列表();
}
}
在我试图运行的过程中,我可能做了很多工作,但对我来说最重要的是知道如何正确地从父接口继承,以及如何以及为什么需要在类中定义泛型
目前,编译器抛出了一系列错误,其中最相关的似乎是:
AuDList.java:4: error: cannot find symbol
public class AuDList<E extends Comparable<E>> implements AuDListInterface<T> {
^
AuDList.java:4:错误:找不到符号
公共类AuDList实现AuDListInterface{
^
以及各种“>预期”、“预期”和“非法开始表达”
我对如何实现列表中的各个方法或多或少有信心,但无论是RTFM还是搜索互联网都无法让我找到一个似乎相关的答案
谢谢。简单地执行
类列表实现ListInterface
!此外,通过声明ListItem previous
和ListItem next
您使用的是原始类型。您应该使用ListItem
作为类型!第三…由于私有类ListItem
是一个内部类,因此不应该使用相同的类型再次使用pe变量。更好的是,将其设置为静态
!最后一个(但并非最不重要)…您的错误消息抱怨类AuDList
,并提到接口AuDListInterface
,该接口与您显示的代码不一致!@Seelenvirtuose对您的最后一条评论是的,只是忘记了在复制之间更改。如果我误解了什么,请纠正我,但是:我应该给您相同类型的占位符我从中继承的接口和正在继承的子接口,尽管应该在子泛型中定义类型的相关约束…thing.vielen dank:D