考察这么一个类:
public class B { public B(string p1) { } public void F() { } } public class D : B { public D() : base("") { } }
我们可以作如下调用:
D o = new D(); o.F();
方法 F() 被继承下来了,那构造函数能继承下来吗?比如这样声明:
D o = new D("itpow"); // ERROR
这是不允许的,只能派生类内部用 base 调用基类的构造函数,外部不能像调用普通方法一样去调用基类的构造函数。