* this 调用的是本实例中的方法。
* base 调用的是基类中的方法。
基类MyBaseClass
public class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("调用父类无参构造函数");
}
public MyBaseClass(int i)
{
Console.WriteLine("调用父类的参数为int的构造函数");
}
}
子类 MyDerivedClass
public class MyDerivedClass : MyBaseClass
{
public int result;
public static int result1;
//静态构造函数只执行一次
static MyDerivedClass()
{
result1 = 1;
Console.WriteLine(result1);
}
public MyDerivedClass()
: this(5)
{
result = 2;
Console.WriteLine(result);
}
public MyDerivedClass(int i) : base(i)
{
Console.WriteLine(i);
}
public MyDerivedClass(int i,int j)
{
Console.WriteLine("两个参数的构造函数");
}
}
主应用程序(注意:静态构造函数只执行一次)
MyDerivedClass myder = new MyDerivedClass();
输出结果为:
MyDerivedClass myder2 = new MyDerivedClass(5);(在执行上面的代码之后的结果)
输出结果为:
MyDerivedClass myder3 = new MyDerivedClass(5, 6);(在执行上面的代码之后的结果)
输出结果为: