A a = new B(); 理解意义。
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}
public class B: A
{
public B()
{
Console.WriteLine('B');
}
public new void Fun()
{
Console.WriteLine("B.Fun()");
}
public static void Main()
{
A a = new B();
a.Fun();
}
}
这段程序A a = new B(); 怎么理解呢?
执行顺序是:
先执行基类a的构造涵数,在来执行子类的构造涵数