一般情况下,静态代码块最先执行,且只执行一次
其次是构造代码块执行,最后执行构造方法,其中,构造代码块和构造方法每次new对象时都会执行
举例如下:
class Student {
static {
System.out.println("Student 静态代码块"); //3
}
{
System.out.println("Student 构造代码块"); //4 6
}
public Student() {
System.out.println("Student 构造方法");
} //5 7
}
class StudentDemo {
static {
System.out.println("林青霞都60了,我很伤心"); //1
}
public static void main(String[] args) {
System.out.println("我是main方法"); //2
Student s1 = new Student(); //
Student s2 = new Student();
}
}
执行结果如下:
林青霞都60了,我很伤心
我是main方法
Student 静态代码块
Student 构造代码块
Student 构造方法
Student 构造代码块
Student 构造方法