您的位置:首页 > 职场人生

一道小小面试题的细节分析

2013-04-03 14:03 169 查看
今天突然想到以前遇到的一个问题,题目如下(可能绝大多数人都遇到过):

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);
}
}

问题:实例化类B时输出什么结果 B b = new B();

答案:x=1, y=0

知识点:
1.类的实例化过程。new B();1、先初始化之类的字段X=1 y=0,接着实例化父类(A)的构造函数,然后在调用子类(B)的构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: