1,Java的函数调用是虚拟调用,对象名.方法名,调用的都是其真实类型的函数,就是说,对象实际上是一个dog,那么调用的就是dog的重写方法。父类构造器之所以被调用,是因为子类的构造器会调用父类的构造器,整个过程实际上是dog的构造。2,这个和初始化顺序有关,new对象时,会先初始化成员变量再调用...
子类静态初始化— 父类静态初始化—成员变量设为默认值—父类构造函数调用—父类成员变量初始化—子类构造函数调用—子类成员变量初始化父类静态初始化—子类静态初始化—成员变量设为默认值—父类成员变量初始化—父类构造函数调用—子类成员变量初始化—子类构造函数调用父类静态初始化—子类静态初始化—成员变量设为...
类成员变量初始化—子类构造函数调用—子类成员变量初始化父类静态初始化—子类静态初始化—成员变量设为默认值—父类成员变量初始化—父类构造函数调用—子类成员变量初始化—子类构造函数调用父类静态初始化—子类静态初始化—成员变量设为默认值—子类构造函数调用—子类成员变量初始化—父类构造函数调用—父类成员...
A.父类静态初始化—子类静态初始化—成员变量设为默认值—父类构造函数调用—父类成员变量初始化—子类构造函数调用—子类成员变量初始化B.子类静态初始化— 父类静态初始化—成员变量设 为默认值 —父类构造函数调用—父类成员变量初始化—子类构造函数调用—子类成员变量初始化C.父类静态初始化—子类静态初始化—...