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

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

把 this.courseToSelect=new ArrayList(); 改為 List courseToSelect=new ArrayList(); 發生異常

把 ?this.courseToSelect=new ArrayList();

改成 ? List courseToSelect=new ArrayList();

為什么在運行時會有異常呢?

請指教

http://img1.sycdn.imooc.com//5983527c0001b28a05740077.jpg


正在回答

3 回答

你的List (指向類型)courseToSelect (屬性)是在無參的構造方法里的 叫局部變量,也可以理解為方法內的屬性, 而你要初始化的是本類的courseToSelect(屬性)。所以要用this這個關鍵字(this是當前對象,this.屬性 表示操作當前對象的方法

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

南圖

不好意思 打快了,最后兩個字(方法改成屬性)?。?!
2017-08-14 回復 有任何疑惑可以回復我~

你可以在類中聲明的時候直接定義。

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

構造函數里面的

this.courseToSelect=new?ArrayList();

是為了給成員變量創建一個對象,并用courseToSelect對其應用,this關鍵字表示這個courseToSelect屬于對象的,如果改成:

List?courseToSelect=new?ArrayList();

這個courseToSelect就變成了局部變量,并沒有傳遞給成員變量,因此后面調用coursesToSelect.add()時,實際上對象的courseToSelect并沒有通過構造函數初始化,仍然是一個NULL,運行時就會出現空指針異常。

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

舉報

0/150
提交
取消

把 this.courseToSelect=new ArrayList(); 改為 List courseToSelect=new ArrayList(); 發生異常

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

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

幫助反饋 APP下載

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

公眾號

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