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()时输出结果是1,0因为一个类在new时是先初始化字段在初始化构造函数,在初始化构造函数时先初始化父类的构造函数