首先,我在Java方面几乎没有什么经验。java在实现类中声明方法,而不是在接口中
得到我的问题,我正在用我自己的方法实现我自己的列表。
public class MyList<E> implements List<E>{
private Node<E> head;
private static class Node<E> {
private E element;
.....
}
现在,在这个类中的方法就是比较这个名单与给定的一个:
public boolean equals(List<E> list){
....
}
要开始这个方法,我们首先必须获取列表的头,所以后来我能访问元素并比较列表。
现在,我们没有getHead()方法。 所以,我们试图实现类
public Node<E> getHead(){
编译器创建下面的方法没有找到符号。当然,我们需要首先在界面中声明它。问题是,如果我们尝试这样做,接口不知道节点是什么。 所以我在这里陷入僵局。
我得到的错误:
Cannot find symbol
symbol : method getHead()
location: interface List<E>
Node<E> lhead = list.getHead();
我希望它让getHead具体实现的方法是什么。我怎么做?
我问,我们可以将执行过程中的内部类移动到界面吗? 不知道如何来解决这个问题,
感谢您的时间
你在哪里试图把这种方法?为我编译好 –
为什么'getHead()'返回'E'? –
@MattBall什么? 'head'是'Node'的一个实例,所以'getHead'应该返回'Node ',不是吗? –