天天看點

java類初始化順序_java類内容初始化順序

在java類中一般有:成員變量、靜态變量、成員方法、靜态方法、構造方法。那麼這幾個的初始化順序是什麼呢?

初始化的先後順序是:靜态變量(類load進記憶體就初始化)------靜态代碼塊(類load進記憶體就初始化)--------成員變量(對象初始化時)------------初始化塊------------構造函數

測試程式如下:

package com.evan;

public class InitialOrderTest {

public static String staticStr = "靜态變量";

public String field = "成員變量";

static {

System.out.println(staticStr);

System.out.println("靜态初始化塊");

}

{

System.out.println(field);

System.out.println("初始化塊");

}

public InitialOrderTest() {

System.out.println("構造函數");

}

public static void main(String[] args) {

System.out.println("初始化順序:");

new InitialOrderTest();

}

}

原文:http://blog.csdn.net/zl544434558/article/details/37818865