问题:为什么输出的不是“意大利面”?(后面放我的理解)
我的理解:
①son.say()首先会在子类找到say()
②当计算机发现say()中有getName()时,又会在父类找到getName()
③getName()返回的是name属性,此时的gatName方法是在父类里面,返回的不应该是父类的name——"意大利面"吗?
问题:为什么输出的不是“意大利面”?(后面放我的理解)
我的理解:
①son.say()首先会在子类找到say()
②当计算机发现say()中有getName()时,又会在父类找到getName()
③getName()返回的是name属性,此时的gatName方法是在父类里面,返回的不应该是父类的name——"意大利面"吗?
因为子类定义了name,覆盖了父类的变量,
并且父类在这里定义没有意义,只有子类的值传给父类,父类的值不能传给子类。