Java 类的初始化顺序
Java中类的初始化顺序是:父类静态代码块——>子类静态代码块——>父类非静态代码块——>父类构造器——>子类非静态代码块——>子类构造器。
测试代码:
首先是父类A
public class A {
public A() {
System.out.println("父类的构造器");
}
static {
System.out.println("父类的静态代码块");
}
{
System.out.println("父类非静态代码块");
}
}
子类B继承父类A
public class B extends A{
public B(){
System.out.println("子类的构造器");
}
static {
System.out.println("子类的静态代码块");
}
{
System.out.println("子类的非静态代码块");
}
public static void main(String[] args) {
B b = new B();
}
}
运行结果如下: