Chinaunix首页 | 论坛 | 博客
  • 博客访问: 598028
  • 博文数量: 83
  • 博客积分: 5453
  • 博客等级: 大校
  • 技术积分: 894
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-10 13:51
文章分类

全部博文(83)

文章存档

2015年(2)

2014年(1)

2013年(1)

2012年(3)

2011年(14)

2010年(7)

2009年(7)

2008年(12)

2007年(17)

2006年(19)

我的朋友

分类: Java

2008-08-28 14:30:08

abstract public class Session implements Comparable {
……
 private Course course;
 
 protected Session(Course cousre, Date startDate) {
         this.course = course;
  this.startDate = startDate;
 }
 
……
}
 
这是典型的类组合,细心的朋友能否发现其中的错误?
 
类型是逻辑错误,所以编译器不能自动发现,也不能提供有效的调试信息。
 
原因,敲键盘时容易发生的小失误。致使构造函数里的局部变量course->cousre,因此this.course=course语句没有起到应有的作用,即course对象没有初始化
 
导致结果:在某个匪夷所思的位置报java.lang.NullPointerException
 
特点,调试结果得出的是空指针异常,而且使用了this
 
解决方法:小孙可以称它为一个最佳实践了:D
 
1.如果使用了this,优先检查构造函数。
 
2.编程的时候尽可能的少用this,利用IDE的自动检查,可以在编译期发现这类错误。
 
 
 
 
阅读(1081) | 评论(0) | 转发(0) |
0

上一篇:maven管理下的依赖问题

下一篇:开源感悟

给主人留下些什么吧!~~