閱讀1013 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Java麵向對象基礎--代碼塊

1、普通代碼塊

public class CodeDemo01{
	public static void main(String args[]){
		{		// 普通代碼塊
			int x = 30 ;	// 就屬於一個局部變量
			System.out.println("普通代碼塊 --> x = " + x) ;
		}
		//int x = 100 ;		// 與局部變量名稱相同
		System.out.println("代碼塊之外 --> x = " + x) ;
	}
};

代碼塊之外,引用變量x會報錯。局部變量的作用域。

2、構造塊

將代碼塊直接定義在類中,稱為構造塊。

class Demo{
	{	// 直接在類中編寫代碼塊,稱為構造塊
		System.out.println("1、構造塊。") ;
	}
	public Demo(){	// 定義構造方法
		System.out.println("2、構造方法。") ;
	}
};
public class CodeDemo02{
	public static void main(String args[]){
		new Demo() ;		// 實例化對象
		new Demo() ;		// 實例化對象
		new Demo() ;		// 實例化對象
	}
};

構造塊優先於構造方法執行,且執行多次,隻要一有實例化對象產生,就執行構造塊中的內容。

3、靜態代碼塊

使用static關鍵字聲明的代碼塊, 為靜態代碼塊。
class Demo{
	{	// 直接在類中編寫代碼塊,稱為構造塊
		System.out.println("1、構造塊。") ;
	}
	static{	// 使用static,稱為靜態代碼塊
		System.out.println("0、靜態代碼塊") ;
	}
	public Demo(){	// 定義構造方法
		System.out.println("2、構造方法。") ;
	}
};
public class CodeDemo03{
	static{		// 在主方法所在的類中定義靜態塊
		System.out.println("在主方法所在類中定義的代碼塊") ;
	}
	public static void main(String args[]){
		new Demo() ;		// 實例化對象
		new Demo() ;		// 實例化對象
		new Demo() ;		// 實例化對象
	}
};

靜態代碼塊優先於主方法執行,普通類中定義的靜態塊優先於構造方法執行。不管有多少個實例化對象產生,靜態代碼塊隻執行一次。
靜態代碼塊的作用:主要就是為靜態屬性初始化。

最後更新:2017-04-03 15:22:09

  上一篇:go 網絡子係統8_netpoll機製
  下一篇:go Mac+IPAD上使用wireshark抓包