使用ArrayList為何用List宣告

2021-08-19 22:19:33 字數 642 閱讀 3166

list是乙個介面,而arraylist 是乙個類。 arraylist 繼承並實現了list。

list list = new arraylist();這句建立了乙個arraylist的物件後把上溯到了list。此時它是乙個list物件了,有些arraylist有但是list沒有的屬性和方法,它就不能再用了。而arraylist list=new arraylist();建立一物件則保留了arraylist的所有屬性。

為什麼一般都使用 list list = new arraylist() ,而不用 arraylist alist = new arraylist()呢?

問題就在於list有多個實現類,如 linkedlist或者vector等等,現在你用的是arraylist,也許哪一天你需要換成其它的實現類呢?,這時你只要改變這一行就行了:list list = new linkedlist(); 其它使用了list地方的**根本不需要改動。假設你開始用 arraylist alist = new arraylist(), 這下你有的改了,特別是如果你使用了 arraylist特有的方法和屬性。  ,如果沒有特別需求的話,最好使用list list = new linkedlist(); ,便於程式**的重構. 這就是

面向介面程式設計

的好處

OC 為何用copy修飾block

簡單來說,block就像乙個函式指標,指向我們要使用的函式。就和函式呼叫一樣的,不管你在 寫了這個block,只要你把它放在了記憶體中 通過呼叫存在這個block的方 法或者是函式 不管放在棧中還是在堆中,還是在靜態區。只要他沒有被銷毀,你都可以通過你宣告的block調 用他。說到在類中宣告乙個bl...

java隨機打亂ArrayList或者List

1.直接呼叫shuffle,就是隨機排序 最最簡單的方法,推薦!例 collections.shuffle list shuffle就是洗牌的意思 例 string arr new string list list arrays.aslist arr 直接呼叫shuffle,就是隨機排序 例 col...

手機為何用3GP格式

3gp 是一種3g mpeg 4 part 14 mp4 版本.3gp 版本的文件擴充套件名為 3gp 或.3g2 該格式主要是為了配合3g 3gp是以mpeg 4 or h.263 video streams 並以amr nb or aac lc 格式儲存音訊串流 audio streams 3g...