为了账号安全,请及时绑定邮箱和手机立即绑定

请问这段代码哪里出错了啊?

请问这段代码哪里出错了啊?

leeu 2016-07-14 19:16:54
package com.imooc; import java.util.ArrayList; import java.util.List; public class TestGeneric { public List<Course> courses; public void TestGeneric(){ this.courses=new ArrayList<Course>(); } public void testAdd(){ Course cr=new Course("1","English"); courses.add(cr); Course cr1=new Course("2","Chinese"); courses.add(cr1); } /**  *   */ public void testForEach(){ for(Course cr:courses){ System.out.println("课程:"+cr.id+":"+cr.name); } } public static void main(String[] args) { TestGeneric te=new TestGeneric(); te.testAdd(); te.testForEach(); } } 报错提示:Exception in thread "main" java.lang.NullPointerException at com.imooc.TestGeneric.testAdd(TestGeneric.java:13) at com.imooc.TestGeneric.main(TestGeneric.java:27)
查看完整描述

2 回答

已采纳
?
冰山点水

TA贡献109条经验 获得超149个赞

没有初始化成员变量courses,变量类型是LIST集合,在没有初始化courses之前就访问其add方法肯定空报指针异常!原因是你的构造器代码写错了,在main方法中创建对象TestGeneric时,并没有初始化courses。构造器是没有返回值类型的的,去掉 public void TestGeneric(){} 这段代码里面的void即可。

查看完整回答
4 反对 回复 2016-07-15
  • 2 回答
  • 0 关注
  • 1122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信