class A//加载子类前会先加载父类。 是的,类初始化阶段加载类之前java会先加载父类并先初始化父类的静态初始化块,
//然后依次向下直到执行当前类的静态初始化块
{
B b = new B();
A() //加载时会执行构造函数么?//会,对象初始化阶段 会先执行父类的初始化块、和构造器 然后依次向下直到执行到当前类的初始化块、和构造器
{
System.out.print("A");
}
}
总结:类加载初始化过程 一个类加载进内存会进行以下两步
1.类初始化阶段:先初始化父类的静态初始化块,然后依次向下直到执行当前类的静态初始化块
2.对象初始化阶段:先执行父类的初始化块、和构造器 然后依次向下直到执行到当前类的初始化块、和构造器
|