父类和子类有着相同的方法.为什么调用的是子类中的方法

如题所述

Java的语言设计就是这样,因为父类的变量可以被子类的对象赋值。所以如果所有父类的变量都是直接调用父类的方法。Java的多态就不能被表现出来了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-09
这是类的多态性,类的多态可以根据引用指向的是子类还是父类来调用子类还是父类的方法。
例:
class A
{
void r(){}
}
class B extends A
{
@override
void r(){}
}
A x;
当x=new A()时,x.r()调用的就是A中的r()
当x=new B()时,x.r()调用的就是B中的r()本回答被提问者采纳
相似回答