书看了头都大了,也不理解.在继承中,abstract ,static,virtual是怎么理解的老鸟们帮看看,有没有通俗一点的解析,谢了比如下面的代码,为什么结果是A,B,A.FUN?谢了.
-----------------------------------------------------------------------------
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()  //static 为先执行的类

A a = new B(); 
a.Fun(); 

}

解决方案 »

  1.   

    abstract  抽象
    static 静态
    virtual 虚拟这些关键字的具体说明MSDN都有
      

  2.   

    A a = new B();
    从代码的执行序上来讲,首先 
    先 构造 A 类的实例,然后 构造 B 类的实例。
    WHY???
     B 继承 A ,在构造时一定会先构造A ,除非A 没有构造函数。
    而实际上声明的是 A 的实体自然掉用Fun() 会调用 A 的Fun() 方法了。