一道面试题
子类实例化时,先初始化自己的字段,然后到父类的构造方法,此时父类中如果有调用虚方法,如果子类覆写了,则会跳到覆写的方法中执行。运行完父类的构造器后,再回到子类自己的构造器!

class Program
{
static void Main(string[] args)
{
B _b = new B();
Console.ReadLine();
}
}
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);
}
}
控制台上会输出:x=1,y=0