2016-12-23 68 views

回答

0

List是一個接口,ArrayList是它的implimentation類。 我們不能創建接口的對象,因爲它們是抽象的,但我們可以創建僅僅是List列表的接口的引用。 使用這個引用我們可以調用ArrayList的方法。

+0

這不回答這個問題。它沒有回答使用'List <..>'或'ArrayList <..>'作爲變量類型的區別。 – Tom

1

沒有重要的區別。但是,如果你使用這樣的

void doSomething(List list) 
{} 

你可以使用它擴展List類的任何對象,但如果你使用這樣的 無效DoSomething的(ArrayList的列表) {} 只能使用ArrayList對象和其子類。

+0

謝謝你,有沒有在未來的代碼編輯方面的任何easyness如果我使用接口(例如:列表名單=新的ArrayList (); –

+0

是,抽象是面向對象的原則之一 –

+0

你可以給我一個例子!? ;) –

相關問題