class A { public A() { PrintFields(); } public virtual void PrintFields() { } } class B : A { int x = 1; int y; public B() { y = -1; } public override void PrintFields() { Console.WriteLine("x={0},y={1}", x, y); } }
new B()结果是x=1,y=0ide
顺序:
初始化继承类非静态成员,int初始化为0
基类非静态成员初始化
基类构造方法调用
继承类构造方法调用。spa