为什么是List list = new ArrayList(),而不直接用ArrayList? 编程是要面向对象编程,针对抽象(接口),而非具体.List 是接口,ArrayList是实现. 实现List接口的有ArrayList.LinkedList.Vector等,所以用哪个就直接new 一个接口实现 这是一种很好的设计模式.一个接口有多种实现,这种写法是java面向对象的一种思想,依赖倒置原则,即依赖于抽象不依赖于实现(具体). 给调用者提供的应该是接口或者抽象类,而实现者可以实现或者继承…