多态性在Java中是如何工作的(将调用哪个方法??)



Java中的以下语句会发生什么:

SuperclassObject o = new SubclassObject();

然后我们运行

o.randomMethod();

然而,randomMethod()已在SuperclassObjectSubclassObject中实现,但方式不同。将调用哪个方法??

它将调用子类版本。为什么?因为内存中只有一个具体的对象,而该对象属于子类。

是的,子类可以充当超类,但在内部它只有自己的方法实现。

最新更新