发布时间:2024-01-29 10:30
this只是调用本身,但是这样是需要调用一次基类没有参的构造函数,所以会多显示一条“基类的无参数构造函数。
base是调用基类的有参数构造函数。
大致测试,有时间向详细描述
public class A
{
public A()
{
Console.WriteLine(\"这是无参A类\");
}
public A(int i)
{
Console.WriteLine(\"这是有1个参数A类 _ \" + i);
}
public A(A q)
{
Console.WriteLine(\"这是有1个参数A类 _ \" + q);
}
}
public class B : A
{
public B()
{
Console.WriteLine(\"这是无参B类\");
}
public B(A a)
{
Console.WriteLine(\"这是类A参数B类\");
}
public B(int i)
{
Console.WriteLine(\"这是有int参数B类 _ \" + i);
}
}
public class C : B
{
public C()
{
Console.WriteLine(\"这是无参C类\");
}
public C(int i)
{
Console.WriteLine(\"这是有1个参数C类 _ \" + i);
}
public C(A a) : base(a)
{
Console.WriteLine(\"我也不知道这是要干嘛\");
}
}
internal class Program
{
static void Main(string[] args)
{
A a = new A();
//B b = new B();
C c = new C(a);
Console.ReadKey();
}
}