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