代码块:(java中被{}括起来的代码成为代码块)
静态代码块:成员变量位置,用static修饰并且用{}括起来的代码。只执行一次。
作用:一般对类进行初始化。
构造代码块:成员变量位置,用{}括起来的代码,每次执行方法前都会执行构造代码块。每次调用构造方法都执行。
作用:把构造方法中相同的代码提取出来放到一起,对对象进行初始化。
局部代码块:位于方法中,限定生命周期。执行完毕后变成垃圾,节省内存。
静态代码块,构造代码块,构造方法的执行顺序:
静态代码块-----》构造代码块-------》构造方法
package Codeblock;
public class Student {
static {
System.out.println("Student 静态代码块");
}
{
System.out.println("Student 构造代码块");
}
public Student() {
System.out.println("Student 构造方法");
}
}
package Codeblock;
public class StudentDemo {
static {
System.out.println("main方法前静态代码块");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("main方法");
Student s1 = new Student();
Student s2 = new Student();
}
}
执行结果:
main方法前静态代码块
main方法
Student 静态代码块
Student 构造代码块
Student 构造方法
Student 构造代码块
Student 构造方法