学习C#类的实例化 和方法的问题
using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
    class A
    {
        public void F() 
        {
            Console.WriteLine("A.F");
        }
        public virtual void G()
        {
        Console.WriteLine("A.G");
        }
    
    }
    class B:A
    {
   new  public void F()     
     {
            Console.WriteLine("B.F");
        }
 public virtual void G()
        {
        Console.WriteLine("B.G");
        }
    }
    class test
    {
        static void Main(string[] args)
        {
            B b = new B();
            A a = b;
            a.F();
            b.F();
            a.G();
            b.G();
        }
    }
}问题如下:
1:B b = new B();这是类B 实例化b
  A a = b;  那么这个语句是么意思?
2:     a.F();
        b.F();
        a.G();
        b.G();
a,b 都是类的实例化对象,我认为类属性可以这样写a.F();  类的方法也可以这样写吗?
3:这个程序的执行结果是:
A.F
B.F
A.G
B.G
但是 书上说是:
A.F
B.F
B.G
B.G
具体应该是那一个呢?为什么?