C#中父类与子类构造函数调用顺序说明

 

我们先来建立一个父类,一个子类,一个子类的子类


    class BaseClass
    {
        private string name = "BaseClass";

        public BaseClass()
        {
            Console.WriteLine(name);
        }
    }


    class SubClass1:BaseClass
    {
        private string name = "SubClass1";

        public SubClass1()
        {
            Console.WriteLine(name);
        }
    }

    class SubClass1_1:SubClass1
    {
        private string name = "SubClass1_1";

        public SubClass1_1()
        {
            Console.WriteLine(name);
        }
    }

在构造函数中分别输出对应类内建立的私有变量name

在主函数中,输入

            BaseClass bc=new SubClass1_1();

然后,运行

 

先 想 一 想 输 入 是 什 么 ……

 

5

4

3

2

1

 

揭晓答案

我们看到,首先输出了父类BaseClass的变量值,然后是SubClass1,最后才是SubClass1_1的。

 

实例化父类时,可以通过new子类来实例化父类,执行构造函数的顺序为:先执行父类的构造函数,再执行子类的构造函数

 

 

再见

你可能感兴趣的:(编程)