【发布时间】:2015-02-01 22:51:33
【问题描述】:
Java 列表(也是集合)有方法实现(add(),get())那么它们怎么可能是接口呢?
我希望:
List <Integer> nums = ArrayList <Integer>();
nums.add(5);
上面的代码会出错,因为 add() 应该在 ArrayList 而不是 List(作为接口)中实现但事实并非如此,代码工作正常。 有人可以解释一下吗?
【问题讨论】:
-
"列表(也是集合)有方法实现(
add(),get())"你能告诉我们吗(顺便说一句,声明!= 实现)?此外,由于 Java 8 接口可以有一些 default methods 但在Listadd()和get()不是其中之一。 -
您似乎对接口到底是什么感到困惑。
-
List 没有实现。否则你可以写 List
nums = List ();而是(这不起作用)。 -
@DuKes0mE 由于 Java 8 List 几乎没有像
sort(Comparator)这样的实现方法,所以我们不再需要使用Collections.sort(list,Comparator),但由于它仍然只是接口,它可能有其他未实现的方法,所以我们仍然无法通过new List初始化它。
标签: java list arraylist interface implements