以下是我在Visual Studio中运行的代码,但我不理解输出:
public abstract class AbstractClass
{
public virtual void Display(int i)
{
Console.WriteLine("Abstract Class Virtual Display Method");
}
}
public class Myclass : AbstractClass
{
public override void Display(int i)
{
Console.WriteLine("Abstract Class Override Display Method");
}
public void Display(object i)
{
Console.WriteLine("Derived Class Normal Display Method");
}
}
class MainClass
{
static void Main(string[] args)
{
Myclass obj = new Myclass();
int i = 1;
obj.Display(i);
Console.ReadLine();
}
}
输出是
Derived Class Normal Display Method // I was expecting: Abstract Class Override Display Method`
有人能帮我理解为什么我会得到这个输出吗?