JAVA 初始化块 静态初始化块 构造方法执行顺序
类初始化顺序如下
- 父类的静态初始化块
- 子类的静态初始化块
- 父类的初始化块
- 父类的构造器
- 子类的初始化块
- 子类的构造器
代码演示
创建父类 ClassA,子类ClassB继承自ClassA.
分别在父类和子类中编写对应的静态初始化块、初始化块、构造方法
ClassA(父类)
public class ClassA {
{
System.out.println("A的初始化代码块");
}
static {
System.out.println("A的静态初始化代码块");
}
public ClassA(){
System.out.println("A的构造器");
}
}
ClassB(子类)
public class ClassB extends ClassA{
{
System.out.println("B的初始化代码块");
}
static {
System.out.println("B的静态初始化代码块");
}
public ClassB(){
System.out.println("B的构造器");
}
//创建子类的对象,查看打印信息
public static void main(String[] args) {
ClassB classB = new ClassB();
}
}
运行结果