倩与倩寻
2018-03-24 17:28
import java.util.ArrayList;
import java.util.List;
public class ListTest {
public List courseToSelect;
public ListTest() {
List courseToSelect = new ArrayList();
}
public void testAdd() {
//往courseToSelect添加课程;
Course cr1 = new Course("1","数据结构");
courseToSelect.add(cr1);
Course temp = (Course)courseToSelect.get(0);
System.out.println("添加了一门课程:"+temp.id+":"+temp.name);
}
public static void main(String[] args) {
ListTest lt = new ListTest();
lt.testAdd();
}
}
public ListTest() {
List courseToSelect = new ArrayList();
}
你这个 为什么还要定义 courseToSelect 把List去掉
你这个就是空指针啊,你在类变量中:public List courseToSelect;没有分配空间
在后面的构造函数中 :List courseToSelect = new ArrayList();相当于是定义了一个局部变量
局部变量在在函数体外面无效,所哟你后面使用的变量courseToSelect都是第一次在定义但是没有分配空间的变量,所以就出现了空指针异常
在构造函数中一般不需要定义新的变量:所以构造函数中是this.courseToSelect = new ArrayList();
Java入门第三季
409792 学习 · 4340 问题
相似问题