关于C#中的执行顺序问题?
下面一段代码:namespaceVirtualDemo{classProgram{staticvoidMain(string[]args){Ba=newB();Conso...
下面一段代码:
namespace VirtualDemo
{
class Program
{
static void Main(string[] args)
{
B a = new B();
Console.ReadKey();
}
}
public class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields()
{
}
}
public 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
请问是怎么得出来的??? 展开
namespace VirtualDemo
{
class Program
{
static void Main(string[] args)
{
B a = new B();
Console.ReadKey();
}
}
public class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields()
{
}
}
public 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
请问是怎么得出来的??? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询