一个普通类A(无父类,Object不算)
- static {} 静态代码块只调用一次。
- 初始化时,静态变量、静态代码块执行先后顺序为在代码中书写的先后顺序。
- 每创建一个实例对象都会执行一次创建这个实例的构造方法。
一个子类B(继承A)
- 执行自己的静态代码块前,会先执行父类的静态代码块。
- 创建一个实例对象会先执行父类的构造方法(子类构造方法中super的父类构造方法,没有就是父类的默认构造方法),再执行创建这个实例的构造方法。
一个普通类A(无父类,Object不算)
一个子类B(继承A)