亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

courses1的引用可以用List也可以用ArrayList 有區別嗎?

courses1的引用可以用List也可以用ArrayList 有區別嗎?

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

3 回答

已采納
?
風中打傘的小孩

TA貢獻73條經驗 獲得超20個贊

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

引用的話,聲明為List,以后可以改為List的其它實現類。

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

TA貢獻12條經驗 獲得超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{
?
}

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

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

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

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

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

TA貢獻41條經驗 獲得超26個贊

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

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

查看完整回答
1 反對 回復 2017-06-27
  • 3 回答
  • 1 關注
  • 2036 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號