.
下面一个示例演示执行顺序:
基类:
public class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("I am MyBaseClass()");
}
public MyBaseClass(int i)
{
Console.WriteLine("I am MyBaseClass(int i)");
}
}
派生类:
public MyDerivedClass()
{
Console.WriteLine("I am MyDerivedCalss()");
}
public MyDerivedClass(int i)
{
Console.WriteLine("I am MyDerivedClass(int i)");
}
public MyDerivedClass(int i,int j)
{
Console.WriteLine("I am MyDerivedClass(int i,int j)");
}
接下来我们在Main函数中以不带参数的构造函数实例化MyDerivedClass:
MyDerivedClass myObj = new MyDerivedClass();
运行程序,控制台输出如下:
从结果可以看出,执行顺序先是基类构造的函数,接下来才是派生类的构造函数,即
1.执行System.Object.Object()构造函数(Object比较特殊,所有类的基类,一般可以不考虑,但是得知道它也是被执行了的)











