C#中override重写与new隐藏的区别,以及C#与Java的override区别

来源:互联网 发布:阿里云 l2tp 连不上 编辑:程序博客网 时间:2024/05/19 04:54

在C#中: override重写,是指对父类中的虚方法(标记virtual)或抽象方法(标记为abstract)进行重写,实现新的功能,它必须与父类方法的签名完全一致,而且与父类方法的可访问性也必须一致 new方法隐藏,是指在子类中重新定义一个签名与父类的方法相同的方法,这个方法可以不用new修饰,只是编译时会弹出一个警告信息:如果是有意隐藏,请使用关键字 new。


上面2者的区别参看下面的代码:

 

 

 

而在Java中,不存在隐藏父类方法这一概念,Java只有重写方法这一概念,同样的代码,在Java中执行和C#中执行截然不同:

 

原创粉丝点击