1. 程式人生 > >靜態變數和靜態程式碼塊的執行順序

靜態變數和靜態程式碼塊的執行順序

static {
    name="zhangsan";
}

private static String name=null;

上面這段程式碼,把name打印出來是null

private static String name=null;

static {
    name="zhangsan";
}

上面這段程式碼,把name打印出來是zhangsan

static {
    name="zhangsan";
}

private static String name;

上面這段程式碼,把name打印出來是zhangsan


由此可見,變數名首先被載入,而賦值的時候,無論是直接在變數上賦值還是在靜態程式碼塊中賦值,都是按照程式碼的順序賦值的。