A a = new B();哪位给讲讲
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
A a = new B();
a.name();
Console.ReadLine();
}
}
public class A
{
public A()
{
Console.WriteLine("aa");
}
public virtual void name()
{
Console.WriteLine("aname");
}
}
public class B:A
{
public B()
{
Console.WriteLine("bb");
}
public override void name()
{
Console.WriteLine("bname");
}
}
输出结果:
aa
bb
bname
为什么会输出aa?那位给讲讲执行原理,