有关抽象类的一段程序的问题
有如下这样一段代码: using System;
using System.Collections.Generic;
using System.Text;
namespace methoddemo
{
abstract class A
{
int Method1()
{
return 0;
}
int Method1(int i)
{
return 1;
}
int Method1(double b)
{
return 2;
}
public static void Method2()
{ }
public void F()
{
Console.WriteLine("A.F");
}
public virtual void G()
{
Console.WriteLine("A.G");
}
public abstract void Method3();
}
class B : A
{
new public void F()
{
Console.WriteLine("B.F");
}
public override void G()
{
Console.WriteLine("B.G");
}
public override void Method3()
{
Console.WriteLine("implement abstract method3");
}
}
class Test
{
static void Main(string[] args)
{
B b = new B();
A a = b;
a.F();
b.F();
a.G();
b.G();
}
}
}
大家觉得程序执行语句a.F();后的输出会是什么呢?因为A是抽象类,那么对于其中语句A a = b;是怎么理解的啊?谢谢大家……