创建List list = new ArrayList(); 此时它是一个List对象,有些ArrayList属性和方法有,但是没有List属性和方法,它就不能再用了
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。
一般都使用 List list = new ArrayList(),因为在于List有多个实现类,如果你现在用的是ArrayList list=new ArrayList(),需求需要换成其它的实现类呢?
这时你只要改变这一行就行了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动, 这就是面向接口编程的好处