通常虚方法使用的较多,new重写用得少,在使用到继承的时候,通常都会用到虚方法
实际上子类使用new并不叫重写,而是子类新创建一个方法,只是新创建的这个方法刚好跟基类中的方法同名,这跟你子类新建的任何方法作用都一样,只是这个方法跟基类中某个方法名称一样,这样反而容易引起误解,你还不如把方法改个名称.另外子类创建跟基类同名的方法,也可以不使用new关键字,编译器会默认这是一个新方法,只是加上new,语义上更明确而已.
而使用override关键字重写基类的虚方法,这个才是重写的含义,你应该知道重写是什么意思,就知道什么时候用重写,至于使用new创建跟基类同名的方法,你甚至可以完全不用,一个项目中,如果不是非常特殊的情况,你是见不到这样的情况的,除非你想故意显得很高端