【问题标题】:Why I cannot write `List<T> l = new List<T>();` in Java? [duplicate]为什么我不能在 Java 中编写 `List<T> l = new List<T>();`? [复制]
【发布时间】:2014-07-21 19:18:16
【问题描述】:

我会打字

ArrayList<T> l = new ArrayListList<T>();

List<T> l = new ArrayList<T>(); 

但是Java不允许我使用

List<T> l = new List<T>();

为什么?

【问题讨论】:

  • 因为List是一个接口
  • List 是一个接口。您不能实例化接口。 ArrayList 是一个类,它是List 的一个实现。类可以被实例化。
  • 您可能想阅读此tutorial。它是关于抽象类的,但其中很多也适用于接口。

标签: java list


【解决方案1】:

List 是一个接口,所以它没有方法实现,不能被实例化。您的前两个示例实例化了一个ArrayList,它是一个实现List 接口的非抽象类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多