默认情况下,在构造对象时将调用基类的无參构造函数,但构造函数可以重载,所以基类可能有一个以上的构造函数,如果希望派生类使用一个指定的基类构造函数而不是无参数构造函数,必修在构造函数初始化语句中指定他。
方法一:使用base关键字
方法二:使用this关键字
- using System;
- class A
- {
- public A()
- {
- Console.WriteLine("我是A类的无参构造函数");
- }
- public A(int i)
- {
- Console.WriteLine("我是A类的第一个有参构造器");
- }
- }
- class B:A
- {
- public B()
- {
- Console.WriteLine("我是B类的构造函数");
- }
- public B(int i):base(i) //用:base(i)调用父类中的有参构造函数
- {
- Console.WriteLine("我是类B的第一个有参构造器");
- }
- }
- class Test
- {
- static void Main()
- {
- B b = new B(1);
- }
- }