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