1. 程式人生 > >靜態程式碼塊,構造程式碼塊,普通程式碼塊

靜態程式碼塊,構造程式碼塊,普通程式碼塊

package practice;

public class CodeBlock {
	public static void main(String[] args) {
		new Work().method();
		System.out.println("---------------");
		new Work().method();
		System.out.println("---------------");

	}
}

class Work {
	static {
		System.out.println("靜態程式碼塊");
	}
	{
		System.out.println("構造程式碼塊");
	}

	public Work() {
		System.out.println("構造方法");
	}

	public void method() {
		{
			int a = 10;

			System.out.println(a);
			System.out.println("普通程式碼塊");
		}
		for (int i = 0; i < 10; i++) {
			System.out.print(i);
		}
		System.out.println();
		System.out.println("over");
	}
}
靜態程式碼塊
構造程式碼塊
構造方法
10
普通程式碼塊
0123456789
over
---------------
構造程式碼塊
構造方法
10
普通程式碼塊
0123456789
over
---------------

 靜態程式碼塊概述:隨著類的載入而執行;只執行一次,用於初始化整個程式的初始化資料。     構造方法概述:隨著物件的建立而執行,優先於構造方法,一般用於初始化所有物件都必須初始化的資料     普通程式碼塊概述:放在方法體內部的,放在這裡的資料會在用完後立馬釋放,不必等到整個方法執行完釋放。

    構造方法,靜態程式碼塊,構造程式碼塊的執行順序:靜態程式碼塊-構造程式碼塊-構造方法