把 this.courseToSelect=new ArrayList(); 改為 List courseToSelect=new ArrayList(); 發(fā)生異常
把 ?this.courseToSelect=new ArrayList();
改成 ? List courseToSelect=new ArrayList();
為什么在運(yùn)行時(shí)會(huì)有異常呢?
請(qǐng)指教
把 ?this.courseToSelect=new ArrayList();
改成 ? List courseToSelect=new ArrayList();
為什么在運(yùn)行時(shí)會(huì)有異常呢?
請(qǐng)指教
2017-08-04
舉報(bào)
2017-08-14
你的List (指向類型)courseToSelect (屬性)是在無(wú)參的構(gòu)造方法里的 叫局部變量,也可以理解為方法內(nèi)的屬性, 而你要初始化的是本類的courseToSelect(屬性)。所以要用this這個(gè)關(guān)鍵字(this是當(dāng)前對(duì)象,this.屬性 表示操作當(dāng)前對(duì)象的方法
2017-08-04
你可以在類中聲明的時(shí)候直接定義。
2017-08-04
構(gòu)造函數(shù)里面的
是為了給成員變量創(chuàng)建一個(gè)對(duì)象,并用courseToSelect對(duì)其應(yīng)用,this關(guān)鍵字表示這個(gè)courseToSelect屬于對(duì)象的,如果改成:
這個(gè)courseToSelect就變成了局部變量,并沒(méi)有傳遞給成員變量,因此后面調(diào)用coursesToSelect.add()時(shí),實(shí)際上對(duì)象的courseToSelect并沒(méi)有通過(guò)構(gòu)造函數(shù)初始化,仍然是一個(gè)NULL,運(yùn)行時(shí)就會(huì)出現(xiàn)空指針異常。