构造方法的执行顺序
- 先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行;静态对象在构造的时候也是也先执行其内部的静态对象。
- 再调用父类的构造方法(父类还有父类的话,从最开始的基类开始调用),如果没有明显指定调用父类自定义的构造方法,那么编译器会调用默认的父类构造方法super()。但是如果要调用父类自定义的构造方法,要在子类的构造方法中明确指定。
- 按声明顺序将成员引用对象变量初始化。
- 最后调用自身的构造方法
简单的说:
类中静态成员对象和成员变量 > 父类的默认无参构造(父类有重写无参构造要显示指定super()) > 类中成员对象和变量 > 自身构造方法