在Java中,如果父类`Parent`有一个非静态方法`void show()`,而子类`Child`重写了此方法。当执行`Parent p = new Child(); p.show();` 这段代码时,以下哪个描述最准确?

答案解析

向上转型后,虽然使用父类引用p,但运行时会根据实际的对象类型(即子类Child)调用方法。因为Child重写了show方法,所以执行的是Child的show方法。选项C错误,向上转型是允许的。选项D,方法是否能被调用和是否为public无关,关键在于方法是否被子类重写。
正确答案:B
随机推荐
开始刷题