我有两个类
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方法时,我得到了相同的结果。 问题:方法签名中的new关键字只是为了更好的可读性吗?
编辑:有没有情况下我们不能不使用new关键字?