例如:代碼List list = new ArrayList();
下面通過list來操作集合。假如代碼編寫后卻發現集合使用的不准確,應該使用LinkedList,那么只要修改一行代碼List list = new LinkedList();就可以。
這行以后的代碼不需要修改,因為List接口保證了調用的都是接口中的方法,而ArrayList與LinkedList都實現了List接口。
而如果當時用ArrayList list = new ArrayList()這種形式的話,那么list訪問到的就可能是ArrayList里獨有的方法而非List接口中的方法。這樣替換成LinkedList的時候就有可能需要修改很多的代碼。