关于面试中虚方法的疑问
在面试中,常见的考查虚方法时,有下面这样的一道题目,小弟不懂,望各位哥哥姐姐弟弟妹妹指点!!!希望能详细一点!之所以现在网上很多这道题目,还在这里献丑,实在是因为他们的答案很不统一,存在很多疑问,所以请教大家,谢谢~~
===================================================
using System;
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()创建B的实例时,产生什么输出?
有答案说是:(X=1,Y=0;x= 1 y = -1)???顺序是不是反了?
也有答案说是:(X=1,Y=0)------------------------> ③的输出??
=========================================
其中①②③处会在运行中起什么作用?
在B实例化的时候,①②处怎样执行,执行时产生什么?