今天我想出了一个有趣的问题。我注意到以下代码:
class A
{
public A()
{
Print();
}
public virtual void Print()
{
Console.WriteLine("Print in A");
}
}
class B : A
{
public B()
{
Print();
}
public override void Print()
{
Console.WriteLine("Print in B");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
}
}
印刷
Print in B
Print in B
我想知道为什么它会打印两次“在 B 中打印”。