子类和父类构造器、静态代码块执行顺序
执行顺序:静态代码块>mian方法>构造代码块>构造方法
-
其中静态代码块(类初始化块)只执行一次,构造代码块在每次创建对象时都会执行。
-
构造代码块(实例初始化块)是“假象”,一个类在编译过后,构造代码块就会消失------构造代码块的代码会被还原到每个构造器之前。
在父类和子类的继承关系中的执行顺序:父类静态代码块>子类静态代码块>父类构造代码块>父类构造方法>子类构造代码块>子类构造方法
- 类(对象)中没有构造器时,是默认会自动创建一个无参构造器的;
- 当类(对象)中只有有参构造器时,就不会再自动创建一个无参构造器了;
- 当子类的构造器中没有实现super()方法时,默认在调用子类构造方法之间先调用父类的无参构造方法。