初始化顺序:
1)继承类静态成员变量初始化
2)继承类实例变量初始化
3)基类静态静态成员变量初始化
4)基类实例变量初始化
5)基类构造方法调用
6)继承类构造方法调用
总结步骤如下:
1. 类的对象初始化大体顺序上实例成员赋值到构造函数
2. 成员赋值初始化按照由子类到父类的顺序
3. 构造函数的初始化按照由父类到子类的顺序
因为成员赋值初始化是从子类到父类的,所以在子类的成员赋值初始化的过程中,
不要引用父类定义的成员,因为这个时候父类成员还没有开始初始化。
C#在创建对象的第一步分配内存完成后会动把所有实例成员变量初始化成变量的默认值,
例如整型就是0,引用类型就是null。然后才开始进行成员变量初始化的过程。