关于new关键字在虚方法动态调用中的阻断作用,也有了更明确的理论基础。在子类方
法中,如果标记 new 关键字,则意味着隐藏基类实现,其实就是创建了与父类同名的另一个方法,
在编译中这两个方法处于动态方法表的不同地址位置,父类方法排在前面,子类方法排在后面。
namespace new的阻断作用 { public class Bird { public void ShowMsg() { Console.Write("父类方法"); } } public class chicken:Bird { new public void ShowMsg() { Console.Write("子类方法"); } } class Program { static void Main(string[] args) { Bird b = new chicken(); b.ShowMsg(); } } } 结果:父类方法