日期:2014-05-18  浏览次数:20682 次

请帮忙解释一下以下的一段简单代码
请问一下
以下的结果是A,为什么不是B呢,我都new了print阿
using   System;

namespace   aa
{
        public   class   Test
        {
                public   class   A
                {
                        public   virtual   void   print()
                        {
                                Console.Out.WriteLine( "A ");
                        }
                }

                public   class   B:A
                {
                        public   new   void   print()
                        {
                                Console.Out.WriteLine( "B ");
                        }
                }

                static   void   Main(string[]   argv)
                {

                        A   b   =   new   B();
                        b.print();
                        Console.ReadLine();
                }
        }
}
以下的结果是B,为啥不是A呢难道override把A类都覆盖了?即使实例化的是B?
using   System;

namespace   aa
{
        public   class   Test
        {
                public   class   A
                {
                        public   virtual   void   print()
                        {
                                Console.Out.WriteLine( "A ");
                        }
                }

                public   class   B:A
                {
                        public   override   void   print()
                        {