在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(); } }