我有两节课
class A
{
public virtual void Metod1()
{
Console.WriteLine("A.Method1");
}
}
class B : A
{
public new void Metod1()
{
Console.WriteLine("B.Method1");
}
}
然后我编写了一些代码来声明这些类的实例,并调用它们的方法
static void Main(string[] args)
{
A a = new B();
a.Metod1();
B b = new B();
b.Metod1();
Console.ReadKey();
}
我给出了以下结果:
A.Method1
B.Method1
但是当我从 B 类的签名方法 1 中删除关键字 new 并运行 Main 方法时,我得到了相同的结果。问题:方法签名中的新关键字是否只是为了更好的可读性?
编辑:是否存在我们不能没有新关键字的情况?