一般情况下,静态代码块最先执行,且只执行一次
其次是构造代码块执行,最后执行构造方法,其中,构造代码块和构造方法每次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 构造方法