List是一个接口,ArrayList类是该接口的特定实现。
List<Object> listObject = new ArrayList<Object>();
有了这个,您可以在将来更改List实现。List listObject可以调用List接口中声明的所有方法。将来,如果您不想ArrayList实现List,并用say a 更改它LinkedList,您可以这样做:
List<Object> listObject = new LinkedList<Object>();
listObject如果您已声明listObjectas接口类型,则不必更改使用的代码List,也不必担心它会破坏其余代码,因为您可能使用了特定ArrayList于此声明的内容:
ArrayList<Object> listObject = new ArrayList<Object>();
这称为对接口的编程,而不是对实现的编程。