108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常

108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常

本文知识点:问题解析--数组未实例化造成的空指针异常

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

问题解析--数组未实例化造成的空指针异常

如果省略此处的if判断,会出现什么问题?
mark

产生了空指针异常
mark

什么时候会发生空指针异常呢?通常是在对象未被实例化的时候,即对象还是null的时候

注意,出现异常信息的时候,我们在解决问题的过程中,需要倒着看异常信息
异常第一次出现在SchoolTest类的24行
mark

mark

异常第二次出现在Subject类中的addStudent()方法中,Subject类中的92行
mark

通过debug详细查看执行步骤解异常bug

在异常出现的2个位置都加上断点:
mark
mark

进入debug
sub1,是已经实例化过的对象
mark

注意sub1中的学生信息是null
mark

所以在获取学生数组长度时,产生了空指针异常
mark

解决异常的方案

mark

原文地址:https://www.cnblogs.com/xlfcjx/p/13785005.html