问答详情
源自:2-3 虚方法和多态

老师,那new和override有什么区别呢

老师,那new和override有什么区别呢

提问者:qq_凸囧凸_0 2017-02-28 11:18

个回答

  • kong66
    2017-03-01 18:21:17

    new是隐藏父类方法,override是重载父类方法,区别就在调用的时候。如果父类类引用到派生类对象,通过父类引用去调用隐藏方法(new的),则调用基类方法;如果调用override同名方法,则调用的是派生类方法。

  • qq_感谢陪伴_0
    2017-02-28 15:05:44

    如果这里用new来定义:输出的PrintName仍然和基类相同,即Pet’name is 

    如果使用虚方法,在基类当中声明PrintName为虚方法,即 virtual public void printName(){