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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

courses1的引用可以用List也可以用ArrayList 有區(qū)別嗎?

courses1的引用可以用List也可以用ArrayList 有區(qū)別嗎?

Meng7y 2017-06-27 20:44:03
public?class?TestStudent?{ //《?》可以用List的引用類型和ArrayList類型的引用。有什么區(qū)別嗎 public?ArrayList<Course>?courses1; public?TestStudent()?{ this.courses1?=?new?ArrayList<Course>();
查看完整描述

3 回答

已采納
?
風(fēng)中打傘的小孩

TA貢獻73條經(jīng)驗 獲得超20個贊

List是一個接口,而ArrayList是一個類。?
ArrayList繼承并實現(xiàn)了List,有些屬性和方法ArrayList有但是List沒有。

引用的話,聲明為List,以后可以改為List的其它實現(xiàn)類。

查看完整回答
1 反對 回復(fù) 2017-06-27
?
lijikai1937

TA貢獻12條經(jīng)驗 獲得超2個贊

public?class?TestStudent?{
?public?ArrayList<Course>?courses1;
?public?List<Course>?courses11;
?public?TestStudent(){
??this.courses1=new?ArrayList<Course>();
??this.courses11=new?ArrayList<Course>();
??
?}
}
class?Course{
?
}

你說的引用應(yīng)該是這個樣子的把,我覺得引用就是一種指向的關(guān)系,是可以引用的,至于兩個引用有什么區(qū)別,就是ArrayList的區(qū)別和List的區(qū)別了。你看一下,接口和類的關(guān)系,我們在實現(xiàn)接口的時候,必須要實現(xiàn)接口里面的所有方法,還有一些別的,但是我們還是可以在我們實現(xiàn)了這個類之后再去添加新的東西。List是ArrayList的規(guī)范,但是除了規(guī)范我們還可以有別的屬于自己的東西。

還有就是接口不可以自己創(chuàng)建對象,不可以通過new關(guān)鍵字來實例,這個你應(yīng)該知道把?我們可以List list = new ArrayList();

但是不能 List list=new List();這樣是錯的。而ArrayList list=new ArrayList();創(chuàng)建一對象則保留了ArrayList的所有屬性。?所以他必須要借助它的實現(xiàn)類來完成。大概就這么多,我感覺這個問題真想說明白的話,真的很多啊,我也搞得不是太明白。

再往下等你學(xué)會所有的Java基礎(chǔ)自己肯定就明白了,還有后面的反射之類的東西。

查看完整回答
1 反對 回復(fù) 2017-06-28
?
慕圣0830664

TA貢獻41條經(jīng)驗 獲得超26個贊

public?ArrayList<Course>?courses1;這一句,用List和ArrayList都可以,因為該語句只是定義了一個引用,并沒有生成相關(guān)的實例對象。ArrayList實現(xiàn)了List接口,因為多態(tài)的關(guān)系這里L(fēng)ist定義的引用同樣適用于ArrayLsit。List是一個接口,接口可以定義一個引用,但不能new對象。

this.courses1?=?new?ArrayList<Course>(); 該語句new出了一個實例對象,所以這里不能換成List,必須換成List的實現(xiàn)類,只有實例類才能new出對象,接口和抽象類都不能new出對象,只能定義引用。

查看完整回答
1 反對 回復(fù) 2017-06-27
  • 3 回答
  • 1 關(guān)注
  • 2022 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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