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

Java教程
Java標識符與關鍵字
Java變量
Java數據類型
Java運算符
Java控制語句
Java方法
Java面向對象
Java對象的創建和使用
Java封裝
Java中static和this
Java繼承
Java方法覆蓋和多態
Java super
Java基礎練習題

Java空指針異常

當一個空的引用去訪問實例變量會出現什么問題嗎?請看以下代碼:

public class Balloon {
	//顏色
	String color;
	//氣體
	String gas;
	//構造方法
	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); 
	}
}

運行結果如下圖所示:

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

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

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

圖9-24:ball = null;

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

總之,當一個“空的引用”去訪問“對象相關/實例相關”數據的時候,此時一定會發生空指針異常。

全部教程
主站蜘蛛池模板: 亚洲精品性夜夜夜 | 久久精品视 | 久久伦理影院 | 亚洲视频一二 | 欧美一级特黄乱妇高清视频 | 中文字幕亚洲一区二区va在线 | 成人小视频在线观看 | 99秒拍福利大尺度视频 | 欧美3区| 中文有码第一页 | 欧美黑人猛xxxxbbbb | 久久久久久久久网站 | 久久91这里精品国产2020 | 久久精品国产视频 | 99久久国产综合精品网成人影院 | 久久精品一区二区三区日韩 | 四虎成人精品在永久在线观看 | 九九热这里有精品 | 亚洲精品综合欧美一区二区三区 | 久久永久免费中文字幕 | 久久精品青草社区 | 日本xoxoxo在线播放 | 日日狠狠久久偷偷四色综合免费 | 精品国产91久久久久久久a | 4虎永免费最新永久免费地址 | 亚洲欧洲精品国产区 | 在线观看日韩欧美 | 中文字幕一区中文亚洲 | 国产99精品免费视频看6 | 日韩欧美视频一区二区在线观看 | 一级欧美一级日韩毛片99 | 精品无人乱码区1区2区3区 | 国产在线一91区免费国产91 | 国产主播福利在线 | 久久黄色免费 | 国产成人精品亚洲777图片 | 狠狠色丁香婷婷综合久久片 | 中文字幕精品一区二区日本大胸 | 国产毛片a | 欧美日韩高清在线观看一区二区 | 欧美成人免费全部观看天天性色 |