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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么取出課程內容的時候要再次實例化一個對象?

Course?cr1?=?new?Course("1","數據結構");
coursesToSelect.add(cr1);
//??????疑問在此?為什么要再次實例化一個對象
Course?temp?=?(Course)coursesToSelect.get(0);?
System.out.println("添加了課程:"+temp.id+":"+temp.name);

//我直接在輸出里?提取對象cr1?也可以
System.out.println("添加了課程:"+cr1.id+":"+cr1.name);

//兩個輸出結果是一樣的


正在回答

3 回答

不是實例化,是引用,從集合中取出一個對象需要一個引用接收

0 回復 有任何疑惑可以回復我~
#1

慕碼人5393438

實際上也可以寫成這樣:System.out.println("添加了課程:"+(Course)coursesToSelect.get(0).id+":"+(Course)coursesToSelect.get(0).name);
2018-10-16 回復 有任何疑惑可以回復我~
#2

海邊的卡夫 提問者 回復 慕碼人5393438

那為什么不直接寫成 cr1.name cr1.id
2018-10-16 回復 有任何疑惑可以回復我~
#3

慕碼人5393438 回復 海邊的卡夫 提問者

在實際運用中,數組的添加和查詢通常不在一個方法、類甚至是系統中,也就是說超出了cr1的作用范圍,這時當你想要去出數據時,就需要一個引用去接收他
2018-10-16 回復 有任何疑惑可以回復我~
#4

慕碼人5393438 回復 海邊的卡夫 提問者

在這個案例中可以直接cr1.id ,但這樣集合數據存儲作用就無法體現了
2018-10-16 回復 有任何疑惑可以回復我~
#5

海邊的卡夫 提問者 回復 慕碼人5393438

好 謝謝 !
2018-10-16 回復 有任何疑惑可以回復我~
查看2條回復

因為課程需要添加到List中去,再從List中取出。你那樣寫的話,不就缺少了這一過程嗎

0 回復 有任何疑惑可以回復我~

其實引用也不是必要的,只不過每次都寫(Course)coursesToSelect.get(0)這么一長串是非常麻煩的,而且當你想要改變list中存儲的數據而又希望可以獲取修改前的數據時,就必須使用創建一個引用了

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么取出課程內容的時候要再次實例化一個對象?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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