代码初始化块
- 类实例化的时候执行代码初始化块;
- 实际上,代码初始化块是放在构造方法中执行的,只不过比较靠前;
- 代码初始化块里的执行顺序是从前到后的。
class A {
A () {
System.out.println("父类构造方法");
}
}
public class B extends A{
B() {
System.out.println("子类构造方法");
}
{
System.out.println("代码初始化块");
}
public static void main(String[] args) {
new B();
}
}
/*
父类构造方法
代码初始化块
子类构造方法
*/
- 静态初始化块在类加载时执行,只会执行一次,并且优先于实例初始化块和构造方法的执行;实例初始化块在每次创建对象时执行,在构造方法之前执行。