首頁 >Java >java教程 >JAVA開發之如何操作靜態初始化塊

JAVA開發之如何操作靜態初始化塊

无忌哥哥
无忌哥哥原創
2018-07-20 10:18:571501瀏覽

用static修飾的初始化區塊就稱為靜態初始化區塊。

需要特別注意:靜態初始化區塊只在類別載入時執行,且只會執行一次,同時靜態初始化區塊只能給靜態變數賦值,不能初始化普通的成員變數

看一段程式碼:

public class HelloWorld {
    
    String name; // 声明变量name
	String sex; // 声明变量sex
	static int age;// 声明静态变量age
    
    // 构造方法
	public  HelloWorld      () { 
		System.out.println("通过构造方法初始化name");
		name = "tom";
	}
    
    // 初始化块
	{ 
		System.out.println("通过初始化块初始化sex");
		sex = "男";
	}
    
    // 静态初始化块
	  static      { 
		System.out.println("通过静态初始化块初始化age");
		age = 20;
	}
    
	public void show() {
		System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
	}
    
	public static void main(String[] args) {
        
        // 创建对象
		HelloWorld hello = new HelloWorld();
		// 调用对象的show方法
        hello.show();
        
	}
}

運行結果:

通过静态初始化块初始化age
通过初始化块初始化sex
通过构造方法初始化name
姓名:tom,性别:男,年龄:20

因為靜態初始化區塊在類別載入的時候就執行了,所以先輸出的靜態初始化區塊中的輸出內容。然後執行普通初始化區塊,最後才執行構造方法。由於靜態初始化區塊只在類別載入的時候執行且只執行一次,所以在再次建立物件hello2的時候就沒有執行靜態初始化區塊了。

以上是JAVA開發之如何操作靜態初始化塊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn