構造函數順序

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()結果是x=1,y=0ide

順序:
初始化繼承類非靜態成員,int初始化爲0
基類非靜態成員初始化 
基類構造方法調用 
繼承類構造方法調用。spa

相關文章
相關標籤/搜索