在JAVA中创建链表

时间:2017-09-17 04:08:22

标签: java list linked-list

以下陈述似乎存在一些差异:

LinkedList<String> res = new LinkedList<>();

List<String> res = new LinkedList<>();

因为当我使用函数res.peek()时,第二个语句会出错。它说无法找到res.peek()。但第一个声明转向了正确。

有谁可以解释为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

LinkedList是类,它有方法peek(),当你使用List即接口时,它没有方法peek()。这就是为什么它会这样运作。

LinkedList

List

原因是父类或实现的接口没有其子类的属性。

1)LinkedList res = new LinkedList<>(); 这里的引用变量是 LinkedList ,它具有peek()方法。

2)List res = new LinkedList<>(); 这里的参考变量是 List ,它没有peek()方法。

希望这会有所帮助:)