Java中的以下语句会发生什么:
SuperclassObject o = new SubclassObject();
然后我们运行
o.randomMethod();
然而,randomMethod()
已在SuperclassObject
和SubclassObject
中实现,但方式不同。将调用哪个方法??
它将调用子类版本。为什么?因为内存中只有一个具体的对象,而该对象属于子类。
是的,子类可以充当超类,但在内部它只有自己的方法实现。