List是一个接口。您无法创建接口实例。
ArrayList是实现List的类,您可以创建一个。
接口仅定义行为。一个实现和接口实现该行为的类。
您将注意到,如果您查看API,则许多不同的类将实现该
List接口。那是因为它们都提供了
List定义方法的实现。而且,这些实现可能大都不同,因为和的
ArrayList工作方式不同,例如a
linkedList。
最好使用表格
List list = new ListType()
因为您可以在以后更改列表实现(如果需要),而不会影响您的代码。原因是如果您这样做
ListType list = new ListType()
列表的类型为
ListType,只有和的一个实例具有
ListType子类。
如果您执行上面显示的首选分配,则可以将实现的 任何东西 分配
List给
list。



