为什么会打印以下程序
B
B
(正如它应该)
public class A
{
public void Print()
{
Console.WriteLine("A");
}
}
public class B : A
{
public new void Print()
{
Console.WriteLine("B");
}
public void Print2()
{
Print();
}
}
class Program
{
static void Main(string[] args)
{
var b = new B();
b.Print();
b.Print2();
}
}
但是如果我们像这样删除 B 类中的关键字“public”:
new void Print()
{
Console.WriteLine("B");
}
它开始打印
A
B
?