0
我可以输入为什么我不能写`List <T> l = new List <T>();`在Java中?
ArrayList<T> l = new ArrayListList<T>();
和
List<T> l = new ArrayList<T>();
但Java不允许我使用
List<T> l = new List<T>();
为什么?
我可以输入为什么我不能写`List <T> l = new List <T>();`在Java中?
ArrayList<T> l = new ArrayListList<T>();
和
List<T> l = new ArrayList<T>();
但Java不允许我使用
List<T> l = new List<T>();
为什么?
List
是一个接口,所以它没有方法实现,也不能实例化。前两个例子实例化一个ArrayList
,这是一个非抽象类,它实现List
接口。
因为'List'是一个接口 –
'List'是一个接口。你不能实例化一个接口。 'ArrayList'是一个类,它是'List'的一个实现。类可以被实例化。 – forgivenson
您可能想阅读本教程(http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html)。它是关于抽象类的,但其中很多也适用于接口。 – ajb