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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 酋长第一 中级黑马   /  2014-8-10 21:38  /  1366 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 酋长第一 于 2014-8-12 12:04 编辑

刚学概述的时候事没什么问题的
但一到代码中,问题一个接一个的来了
比如这种
                Fu f = new Fu();
                Zi z = new Zi();


执行完成后调用变量或者方法,结果调谁的,自己都看蒙了,求解答

点评

认真看视频或别人整理的笔记。基础视频里讲得非常详细  发表于 2014-8-10 21:43

10 个回复

倒序浏览
你这应该是继承那里的的知识点,如果Fu()和Zi()没有关系   Fu f = new Fu(); 只是调用Fu()的变量或者方法, Zi z = new Zi();  只是调用Zi()的变量或者方法,
          如果Zi()是Fu()的子类,那么 Fu f = new Fu(); 只是调用Fu()的变量或者方法,而   Zi z = new Zi();
是先初始化父类的数据,然后在初始化子类的数据,,,,
回复 使用道具 举报
再说一句  Fu f=new Zi();   这个才是多态的格式
回复 使用道具 举报
没明白你想表达什么啊,{:3_46:}
回复 使用道具 举报
前提应该是 zi继承Fu的吧,

Fu f = new Fu(); 只能调用Fu类的方法
Zi z = new Zi();  因为继承了父类即可调用Fu的方法也可以调用自己本身就有的方法
回复 使用道具 举报
共同学习下
回复 使用道具 举报
张星 来自手机 中级黑马 2014-8-11 10:58:25
7#
楼主这不是多态!
回复 使用道具 举报
来学习一下
回复 使用道具 举报
你这个不是多态 啊,class Zi  extends Fu{}
创建父类引用子类对象
Fu  f  =new  Zi();这是多态。
对非静态变量和方法,f调用的是父类变量,子类覆盖或者继承父类的方法。
回复 使用道具 举报
定义了一个父类的引用去调用子类对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马