多态性在Java中是如何工作的(将调用哪个方法??)
Java中的以下语句将发生什么情况:多态性在Java中是如何工作的(将调用哪个方法??),java,oop,polymorphism,Java,Oop,Polymorphism,Java中的以下语句将发生什么情况: SuperclassObject o = new SubclassObject(); 然后我们跑 o.randomMethod(); 然而,randomMethod()已经在超类对象和子类对象中实现,但实现方式不同。将调用哪个方法???它将调用子类版本。为什么?因为内存中只有一个具体对象,而该对象属于子类 是的,子类可以充当超类,但在内部,它只有自己的方法实现。是否考虑过测试的可能重复?试试这个。你用不同的方式表达的是什么意思?你是指一个不同的参数列表,
SuperclassObject o = new SubclassObject();
然后我们跑
o.randomMethod();
然而,
randomMethod()
已经在超类对象
和子类对象
中实现,但实现方式不同。将调用哪个方法???它将调用子类版本。为什么?因为内存中只有一个具体对象,而该对象属于子类
是的,子类可以充当超类,但在内部,它只有自己的方法实现。是否考虑过测试的可能重复?试试这个。你用不同的方式表达的
是什么意思?你是指一个不同的参数列表,改为静态函数还是其他什么?改变它几乎肯定需要以不同的方式调用函数,因此不会有任何歧义……除非所讨论的方法是静态的。