类中字段方法的执行时机

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时是先初始化字段在初始化构造函数,在初始化构造函数时先初始化父类的构造函数

posted @ 2014-04-10 10:41  xjt360  阅读(107)  评论(0编辑  收藏  举报