初始化的过程
Static静态块—父类的静态块—子类的静态块—父类的初始化块—父类的构造函数—子类的初始化块—子类的构造函数
举例说明
class HelloA {
public HelloA() {
System.out.println("HelloA");
}
{ System.out.println("I'm A class"); }
static { System.out.println("static A"); }
}
public class HelloB extends HelloA {
public HelloB() {
System.out.println("HelloB");
}
{ System.out.println("I'm B class"); }
static { System.out.println("static B"); }
public static void main(String[] args) {
System.out.println("-------main start-------");
new HelloB();
new HelloB();
System.out.println("-------main end-------");
}
}
运行结果
static A
static B
——-main start——-
I’m A class
HelloA
I’m B class
HelloB
I’m A class
HelloA
I’m B class
HelloB
——-main end——-