Java中类实例化的顺序:
1、静态属性初始化,静态代码块初始化(静态代码块先于主方法执行,且只执行一次)
2、普通属性初始化,普通代码块初始化(构造代码块初始化)
3、构造方法初始化
class Student {
static {
System.out.println("Student静态代码块");
}
{
System.out.println("Student构造代码块");
}
public Student() {
System.out.println("Student构造方法");
}
}
public class Demo_Student {
static {
System.out.println("Demo_Student静态代码块");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Student student1 = new Student();
Student student2 = new Student();
}
}
输出为:
Demo_Student静态代码块
我是main方法
Student静态代码块
Student构造代码块
Student构造方法
Student构造代码块
Student构造方法