Java小程序中遇到过的空指针异常1

一、

1、1无参构造方法:

public Subject() {

}

//引用数据类型(数组、类、接口)需要创建对象赋值后才能使用;当为null时,调用方法时会报空指针异常(NullPointerException)

1、2有参构造方法:(注意这里的myStudents在构造方法中并没有被初始化)

public Subject(String subjectName, String subjectID, int subjecctLife,Student[] myStudents,int stuNum ) {

this.setSubjectName(subjectName);

this.setSubjectID(subjectID);

this.setSubjectLife(subjecctLife);

this.setMyStudents(myStudents);

this.setStuNum(stuNum);

}

2、myStudents数组属性的setter和getter方法

3、

二、这里之sub1在调用方法add()时,其实sub1中的myStudents数组是没有初始化的,但是在add方法中有i < this.getMyStudents().length;则在调用getMyStudents()时,通过getMyStudents()方法进行了初始化;

三、总结

之所在getMyStudents()方法中根据其是否为空而判断是否初始化,而不是在定义属性myStudents时就初始化,是为了实现在用到的时候再开空间(当规模比较大,业务逻辑比较复杂的情况下,使用这种,效率会更高);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,288评论 0 16
  • 一. Java基础部分.................................................
    wy_sure阅读 3,833评论 0 11
  • 代码地址https://github.com/MuchContact/TreeViewForContactBook...
    muco阅读 435评论 0 0