大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java教程
Java標(biāo)識符與關(guān)鍵字
Java變量
Java數(shù)據(jù)類型
Java運(yùn)算符
Java控制語句
Java方法

Java空指針異常

當(dāng)一個空的引用去訪問實例變量會出現(xiàn)什么問題嗎?請看以下代碼:

public class Balloon {
	//顏色
	String color;
	//氣體
	String gas;
	//構(gòu)造方法
	public Balloon(){
		
	}
	public Balloon(String _color , String _gas){
		color = _color;
		gas = _gas;
	}
}
public class BalloonTest {
	public static void main(String[] args) {
		Balloon ball = new Balloon("紅色" , "氫氣");
		System.out.println("氣球顏色是:" + ball.color);
		System.out.println("氣球中的氣體是:" + ball.gas);
		ball = null;

//空指針異常
		System.out.println("氣球顏色是:" + ball.color); 
	}
}

運(yùn)行結(jié)果如下圖所示:

圖9-22:空指針異常演示

java.lang.NullPointerException被稱為空指針異常,在java編程當(dāng)中屬于很常見的異常,接下來研究一下以上程序執(zhí)行過程的內(nèi)存圖是如何變化的。請看下圖:

圖9-23:Balloon ball = new Balloon("紅色" , "氫氣");

圖9-24:ball = null;

以上程序語法正確,編譯通過,因為程序在編譯階段檢測出“引用ball”屬于Balloon類型,在Balloon類中有color屬性,所以編譯器允許通過ball引用去訪問color屬性,例如以上代碼的ball.color。但是程序在運(yùn)行階段會通過ball引用查找堆內(nèi)存當(dāng)中的對象,因為color是實例變量,該變量存儲在java對象內(nèi)部,當(dāng)ball = null執(zhí)行之后表示“引用ball”不再保存java對象的內(nèi)存地址,換句話說通過ball引用已經(jīng)無法找到堆內(nèi)存當(dāng)中的java對象了,對于程序來說這個時候就沒有辦法正常訪問了,這種情況下就會發(fā)生空指針異常。就好比一個小孩兒放風(fēng)箏,通過拽線來操控風(fēng)箏,結(jié)果線斷了,再拽風(fēng)箏線的時候,已經(jīng)無法再操控風(fēng)箏了,這對于小孩兒來說是一種異常。而java程序中把這種異常叫做NullPointerException。

總之,當(dāng)一個“空的引用”去訪問“對象相關(guān)/實例相關(guān)”數(shù)據(jù)的時候,此時一定會發(fā)生空指針異常。

主站蜘蛛池模板: 久草热在线观看 | 99久久免费费视频在线观看 | 操穴片| 欧美日本三级 | 色五月在线视频 | 婷婷色在线视频 | 久久97精品久久久久久久看片 | 欧美精品国产日韩综合在线 | 久久国产综合精品欧美 | 一级毛片卡 | 香蕉国产人午夜视频在线 | 久久久久嫩草影院精品 | 在线视频欧美日韩 | 精品中文字幕不卡在线视频 | 日韩国产欧美 | 亚洲va在线va天堂va四虎 | 成人久久18网站 | 久久午夜剧场 | 热热99| 91色老99久久九九爱精品 | 青草视频在线 | 国产在线视频色综合 | 人人看97| 91在线看| 久久性生活 | 国产精品国产自线在线观看 | 天天综合天天 | 91sao国产在线观看 | 国产精品久久久久激情影院 | 成人午夜看片在线观看 | 四虎色姝姝影院www 四虎色影院 | 久热草在线 | 国产91在线视频 | 国产在线精品一区免费香蕉 | 一级黄色网 | 久青草视频在线播放 | 免费精品一区二区三区在线观看 | 午夜国产福利在线观看 | 九月婷婷综合 | 久久精品国1国二国三在 | 亚洲欧美日韩中文字幕在线 |