面试题答案
一键面试- 输出结果
Parent's message Child's message
- 原因解释
Parent parent1 = new Parent();
这行代码创建了一个Parent
类的实例parent1
。当调用parent1.printMessage()
时,会调用Parent
类中定义的printMessage
方法,所以输出Parent's message
。Parent parent2 = new Child();
这行代码创建了一个Child
类的实例,但是使用Parent
类型的变量parent2
来引用它。由于Child
类重写了Parent
类的printMessage
方法,在Java中,方法调用遵循动态绑定(运行时多态)机制。当通过parent2
调用printMessage
方法时,实际调用的是Child
类中重写的printMessage
方法,所以输出Child's message
。