Java对象初始化顺序的使用

Java教程 2025-08-18

单一类:(静态成员变量&静态初始化块)< (成员变量&初始化块)< 构造函数

复制代码代码如下:

public class 对象初始化顺序 {

public static void main(String[] args){

Person p = new Person();

}

}

class Person{

public static String staticfield ="静态成员变量";

public String field ="成员变量";

static

{

System.out.println(staticfield);

System.out.println("静态初始化块");

}

{

System.out.println(field);

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

}

Person(){

System.out.println("构造函数");

}

}

输出结果

静态成员变量

静态初始化块

成员变量

初始化块

构造函数

继承类:(父类静态成员变量&父类静态初始化块)< (子类静态成员变量&子类静态初始化块)< (父类变量&父类初始化块)< (父类构造器&子类变量)< (子类初始化块&子类构造器)

括号内根据出现的先后顺序决定。