博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

类执行顺序(子类,基类,成员)

Posted on 2009-10-22 22:19  一刻  阅读(220)  评论(0编辑  收藏  举报

例如:

    class Program
    {
        static void Main(string[] args)
        {
            new B();                    //这里是入口,首先从这里执行                1
        }
    }
    class A
    {
        private int a = 10;      //初始化成员变量,基类                            3
        public A()                  //执行基类的构造函数                                 4
        {
            PrintFields();         //4.1
        }
        public virtual void PrintFields() { }     //这句没有执行
    }
    class B : A
    {
        int x = 1;                          //初始化成员变量,本身                          2
        int y;
        public B()                      //执行本身的构造函数                                5
        {
            y = -1;
        }
        public override void PrintFields()               //4.2
        {
            Console.WriteLine("x={0},y={1}", x, y);
        }
    }

//执行结果很名明显,x=1,y=0;