为什么这样定义变量List list = new ArrayList()

List list = new ArrayList();
ArrayList list1 = new ArrayList();
第一种写法:
让后面的操作都是面向List接口,而面向接口编程方便后期维护或扩展,因为List有三个子类:ArrayList、LinkedList、Vector,
若后期要考虑线程安全或提高增删元素速度等,就会考虑用其他实现类。这时只需要修改创建对象一个地方,而后面的代码基本不需要动。
第二种:
如果明确用到某个现实类的特有方法就可以选择第二种写法了。

你可能感兴趣的:(JAVA,arraylist,java,面向接口编程)