黑马程序员技术交流社区

标题: A类继续B类,然后A类重写父类里面的方法,当执行A的方法呢还是B类的方法? [打印本页]

作者: tangqun    时间: 2015-11-9 03:20
标题: A类继续B类,然后A类重写父类里面的方法,当执行A的方法呢还是B类的方法?
A类继续B类,然后A类重写父类里面的方法,当执行A的方法呢还是B类的方法?
作者: yqlbd    时间: 2015-11-9 05:52
看生成A类的对象还是B类的对象。

假设A类继承B类,B类中有个f()方法,A类重写了这个方法。

1.        A a = new A();
           a.f()                       显然是A类中的方法

2.        B b=new B();
           b.f();                      显然是B类中的方法


3           B b = new A()
            b.f();                     这个是多态,把子类对象发送给父类的引用,这个b.f()调用的是A类的方法,生成 的是A类对象





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2