继承树的构造器调用顺序

1.1.3 继承树的构造器调用顺序

      在子类在访问基类之前,基类就已经完成了初始化工作了,构造器的调用是从继承树顶级向下调用的.最后才调用子类的构造器.看以下例子可以看出来构造器在继承树中是按什么顺序调用的:

   class SuperClass

    {

        public SuperClass()

        {

            Console.WriteLine("SuperClass的构造器被调用.");

        }

    }

    class SunClass1:SuperClass

    {

        public SunClass1()

        {

            Console.WriteLine("SunClass1的构造器被调用.");

        }

    }

    class SunClass2:SunClass1

    {

        public SunClass2()

        {

            Console.WriteLine("SunClass2的构造器被调用.");

        }

    }

    class Test

    {

        static void Main(string[] args)

        {

            SunClass2 sun = new SunClass2();

            Console.ReadLine();  //使不退出Main函数,以便观察结果

        }

}

运行的结果是:

     SuperClass的构造器被调用.

     SunClass1的构造器被调用.

     SunClass2的构造器被调用.

从结果可以看出,构造器确实是从顶级向下调用的.

 

你可能感兴趣的:(继承树的构造器调用顺序)