A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

因为Zi继承了Fu,所以new Zi包括的东西要多于new Fu,也可以说是new Zi 包括 newFu,那不是应该是
Zi z = new Fu;

如果是  Zi z = new Fu; Fu.方法可能是Zi的方法而父没有,从而导致错误


父类引用可以指向子类对象,
左边Fu f是定义了一个叫f的父类型变量,在栈中开辟了一个空间
栈中的变量名是父类类型的,因而去堆中找对应地址值时只找父类类型
所以在编译时无论成员变量、成员函数、静态函数全部看左边
而运行时由于子类的成员函数动态绑定,所以才会运行子类的方法。
父类比子类更抽象,因此更加通用,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作

3 个回复

倒序浏览
多态,我也是有点晕。 求大神指教
回复 使用道具 举报
人生苦旅 来自手机 中级黑马 2015-9-23 23:44:38
藤椅
父类的引用指向子类的对象
回复 使用道具 举报
fu类的引用指向了zi类的对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马