在子类的构造函数中如何调用父类的构造函数。如果不调用,子类会调用父类默认的构造函数么?

解决方案 »

  1.   

    >> 如果不调用,子类会调用父类默认的构造函数么?
    会>> 在子类的构造函数中如何调用父类的构造函数。
    base(...)
      

  2.   

    public class ClassB : ClassA
    {
       public ClassB(string arg1, string arg2) : base(arg1) // 假设 ClassA 具有 public ClassA(string arg1) { // ... }
    {
         // ...
    }
    }
      

  3.   

    用base()就可以调用父类的构造函数了
      

  4.   

    class Parent
        {
            public Parent()
            {
                Console.WriteLine("这是父类的构造方法");
            }
        }    class Clild:Parent
        {
            /// <summary>
            /// 不调用父类的构造方法
            /// </summary>
            public Clild()
            {
                Console.WriteLine("这是子类的构造方法");
            }        /// <summary>
            /// 显示调用父类的构造方法
            /// </summary>
            //public Clild():base()
            //{
            //    Console.WriteLine("这是子类的构造方法");
            //}  
        }
        class Test
        {
            static void Main(string[] args)
            {
                new Clild();
            }
        }输出:
    这是父类的构造方法
    这是子类的构造方法
      

  5.   

    在调用子类构造函数时会首先调用基类的构造函数
    public class ClassB : ClassA
    {
         public ClassB(string arg1, string arg2) : base(arg1)
         public ClassA(string arg1) { }
         {
               // ...
          }
    }