list为接口,ArrayList为list的实现之一,还有LinkedList,比如初始化一个list 不能这样:List list = new List();正确的写法为:List list = new ArrayList()或者 List list = new LinkedList(),当然ArrayList和LinkedList之间是有区别的,一个是数组式的,一个是链表式的。
List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。 List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。
List ---- 接口。
ArrayList ---- 类。
参考java基础,类与接口的差异
关系 : ArrayList是List接口的一个数组实现
ArrayList类的对象可以使用List定义的方法 并且ArrayList有自己独有的方法
可以用ArrayList给List对象实例化
List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。