package com.springapp.mvc.demo.classBlockDemo; /** * java中普通代碼塊、構造代碼塊、靜態代碼塊 * <p/> * 普通代碼塊:一般用於控制變量的生命週期。執行順序由他們聲明的順序決定。 * 構造代碼塊:構造代碼塊在建立對象時被調用。 * 靜態塊:用於類的初始化,每一個靜態代碼塊在類加載時運行,且只執行一次。 * <p/> * 執行順序:(優先級從高到低。)靜態代碼塊>mian方法>構造代碼塊>構造方法。 * * @author Leizhi 2016/6/14 * @see * @since 1.0 */ public class ClassBlock { { System.out.println("I am construct block, i usually use for instantiating an object;"); } static { System.out.println("I am static block, i usually use for instantiating an Class;"); } public static void main(String[] args) { System.out.println("I am the main methods...., i run after static block."); new ClassBlock(); { System.out.println("I am part block, i usually use for control variables lifecycle;"); int x = 10; System.out.println(x); } //System.out.println(x); error,訪問不到x變量,僅存在於局部(普通)代碼塊中 } }
運行截圖java