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

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

Java static靜態代碼塊

靜態代碼塊的語法格式是這樣的:

類{
//靜態代碼塊
static{
java語句;
}
}

靜態代碼塊在類加載時執行,并且只執行一次。開發中使用不多,但離了它有的時候還真是沒法寫代碼。靜態代碼塊實際上是java語言為程序員準備的一個特殊的時刻,這個時刻就是類加載時刻,如果你想在類加載的時候執行一段代碼,那么這段代碼就有的放矢了。例如我們要在類加載的時候解析某個文件,并且要求該文件只解析一次,那么此時就可以把解析該文件的代碼寫到靜態代碼塊當中了。我們來測試一下靜態代碼塊:

public class StaticTest01 {
	//靜態代碼塊
	static{
		System.out.println(2);
	}
	//靜態代碼塊
	static{
		System.out.println(1);
	}
	//main方法
	public static void main(String[] args) {
		System.out.println("main execute!");
	}
	//靜態代碼塊
	static{
		System.out.println(0);
	}
}

運行結果如下圖所示:

Java開發

圖11-22:靜態代碼塊運行結果

通過以上的測試可以得知一個類當中可以編寫多個靜態代碼塊(盡管大部分情況下只編寫一個),并且靜態代碼塊遵循自上而下的順序依次執行,所以有的時候放在類體當中的代碼是有執行順序的(大部分情況下類體當中的代碼沒有順序要求,方法體當中的代碼是有順序要求的,方法體當中的代碼必須遵守自上而下的順序依次逐行執行),另外靜態代碼塊當中的代碼在main方法執行之前執行,這是因為靜態代碼塊在類加載時執行,并且只執行一次。再來看一下以下代碼:

public class StaticTest02 {
	int i = 100;
	static{
		System.out.println(i);
	}
}

編譯結果如下圖所示:

圖11-23:靜態代碼塊中訪問實例變量編譯報錯

為什么編譯報錯呢?那是因為i變量是實例變量,實例變量必須先創建對象才能訪問,靜態代碼塊在類加載時執行,這個時候對象還沒有創建呢,所以i變量在這里是不能這樣訪問的。可以考慮在i變量前添加static,這樣i變量就變成靜態變量了,靜態變量訪問時不需要創建對象,直接通過“類”即可訪問,例如以下代碼:

public class StaticTest02 {
	static int i = 100;
	static{
		System.out.println("靜態變量i = " + i);
	}
	public static void main(String[] args) {
	}
}

運行結果如下圖所示:

圖11-24:靜態代碼塊中訪問靜態變量

代碼修改為這樣呢?

public class StaticTest02 {
	static{
		System.out.println("靜態變量i = " + i);
	}
	static int i = 100;
}

編譯報錯了,請看下圖:

圖11-25:編譯報錯信息

通過測試,可以看到有的時候類體當中的代碼也是有順序要求的(類體當中定義兩個獨立的方法,這兩個方法是沒有先后順序要求的),靜態代碼塊在類加載時執行,靜態變量在類加載時初始化,它們在同一時間發生,所以必然會有順序要求,如果在靜態代碼塊中要訪問i變量,那么i變量必須放到靜態代碼塊之前。

全部教程
主站蜘蛛池模板: 亚洲18岁禁止 | 香蕉视频一区二区三区 | 国产成在线人视频免费视频 | 中国女人和老外的毛片 | 久热国产精品 | 国产精品久久影院 | 精品综合久久久久97 | 91在线观 | 四虎国产成人免费观看 | 亚洲第五色综合网 | 狠狠色丁婷婷综合久久 | 日韩一级视频免费观看 | 久久免费观看国产精品 | 久久久精品日本一区二区三区 | 99久久久久国产精品免费 | 色香视频在线 | 午夜欧美精品久久久久久久 | 热久久在线观看 | 国内精品久久久久久网站 | 黄色成人免费观看 | 日韩麻豆 | 四虎影视在线观看永久地址 | 国产亚洲免费观看 | 久久综合久久精品 | 天天色综合图片 | 国产h片在线观看 | 99视频都是精品热在线播放 | 久久香蕉国产线看观看亚洲片 | 亚洲美女免费视频 | 精品久久久久久久中文字幕 | 久久久全国免费视频 | 国产黄色影院 | 欧美一级精品高清在线观看 | 国产亚洲在线观看 | 国产伦精品一区二区免费 | 毛色毛片免费看 | 五月婷婷激情视频 | 看一级毛片一区二区三区免费 | 亚洲国产精品综合久久网络 | 久久婷婷激情综合中文字幕 | 国产精品视频久久久久久 |