亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
一種難以察覺(jué)的空指針異常
[打印本頁(yè)]
作者:
tony_ayuan
時(shí)間:
2008-08-28 14:30
標(biāo)題:
一種難以察覺(jué)的空指針異常
abstract public class Session implements Comparable {
……
private Course course;
protected Session(Course cousre, Date startDate) {
this.course = course;
this.startDate = startDate;
}
……
}
這是典型的類組合,細(xì)心的朋友能否發(fā)現(xiàn)其中的錯(cuò)誤?
類型是邏輯錯(cuò)誤,所以編譯器不能自動(dòng)發(fā)現(xiàn),也不能提供有效的調(diào)試信息。
原因,敲鍵盤時(shí)容易發(fā)生的小失誤。致使構(gòu)造函數(shù)里的局部變量course->cousre,因此this.course=course語(yǔ)句沒(méi)有起到應(yīng)有的作用,即course對(duì)象沒(méi)有初始化
導(dǎo)致結(jié)果:在某個(gè)匪夷所思的位置報(bào)java.lang.NullPointerException
特點(diǎn),調(diào)試結(jié)果得出的是空指針異常,而且使用了this
解決方法:小孫可以稱它為一個(gè)最佳實(shí)踐了:D
1.如果使用了this,優(yōu)先檢查構(gòu)造函數(shù)。
2.編程的時(shí)候盡可能的少用this,利用IDE的自動(dòng)檢查,可以在編譯期發(fā)現(xiàn)這類錯(cuò)誤。
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):
http://blog.chinaunix.net/u/20515/showart_1151036.html
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2