第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

List course = new ArrayList();為什么用List?

為什么一般老師在視頻里用List course = new ArrayList();而不是ArrayList course = new ArrayList();?

正在回答

2 回答

為什么是List?list?=?new?ArrayList(),而不直接用ArrayList?

編程是要面向?qū)ο缶幊?,針?duì)抽象(接口),而非具體

?List?是接口,ArrayList是實(shí)現(xiàn)

?實(shí)現(xiàn)List接口的有ArrayListLinkedList、Vector等,所以用哪個(gè)就直new?一個(gè)接口實(shí)現(xiàn)這是一種很好的設(shè)計(jì)模式.

一個(gè)接口有多種實(shí)現(xiàn),這種寫法是java面向?qū)ο?/span>的一種思想,依賴倒置原則,

即依賴于抽象不依賴于實(shí)現(xiàn)(具體)。

?給調(diào)用者提供的應(yīng)該是接口或者抽象類,而實(shí)現(xiàn)者可以實(shí)現(xiàn)或者繼承接口或者抽象類來(lái)滿足調(diào)用者,

這樣調(diào)用者不必知道實(shí)現(xiàn)者怎樣操作,實(shí)現(xiàn)者也可以根據(jù)具體情況去實(shí)現(xiàn),這樣去除了耦合。這就是java設(shè)計(jì)模式的基礎(chǔ)思想之一。

?Java語(yǔ)法上,這種方式是使用接口引用指向具體實(shí)現(xiàn),這樣大大提高了代碼使用的靈活性。

?比如,你若希望用LinkedList的實(shí)現(xiàn)來(lái)替代ArrayList的話,只需改動(dòng)一行即可:

??List???list???=???new???LinkedList();

??而程序中的其它部分不需要改動(dòng),這樣比較靈活,不會(huì)失去通用性。

以上文字來(lái)自:?https://wenku.baidu.com/view/7c6cda3510661ed9ad51f343.html


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

某向陽(yáng) 提問(wèn)者

雖然不是很懂,但還是謝謝你
2017-04-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Gir非碼農(nóng) 回復(fù) 某向陽(yáng) 提問(wèn)者

簡(jiǎn)單地說(shuō)就是你說(shuō)的和老師說(shuō)的,都可以。但是老師的想法呢,可擴(kuò)展性更強(qiáng)。List是個(gè)接口嘛,接哪個(gè)集合都可以,要是換成ArrayList就只是這一個(gè)集合了
2017-04-09 回復(fù) 有任何疑惑可以回復(fù)我~

List是個(gè)集合接口

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

List course = new ArrayList();為什么用List?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)