黑马程序员技术交流社区

标题: 多态的问题,希望大家帮帮忙 [打印本页]

作者: 酋长第一    时间: 2014-8-10 21:38
标题: 多态的问题,希望大家帮帮忙
本帖最后由 酋长第一 于 2014-8-12 12:04 编辑

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


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

作者: 冷锋也温柔    时间: 2014-8-10 22:54
你这应该是继承那里的的知识点,如果Fu()和Zi()没有关系   Fu f = new Fu(); 只是调用Fu()的变量或者方法, Zi z = new Zi();  只是调用Zi()的变量或者方法,
          如果Zi()是Fu()的子类,那么 Fu f = new Fu(); 只是调用Fu()的变量或者方法,而   Zi z = new Zi();
是先初始化父类的数据,然后在初始化子类的数据,,,,

作者: 冷锋也温柔    时间: 2014-8-10 22:56
再说一句  Fu f=new Zi();   这个才是多态的格式
作者: 侯岩卿    时间: 2014-8-10 23:00
没明白你想表达什么啊,{:3_46:}
作者: kakasa    时间: 2014-8-11 10:43
前提应该是 zi继承Fu的吧,

Fu f = new Fu(); 只能调用Fu类的方法
Zi z = new Zi();  因为继承了父类即可调用Fu的方法也可以调用自己本身就有的方法
作者: 碎流    时间: 2014-8-11 10:53
共同学习下
作者: 张星    时间: 2014-8-11 10:58
楼主这不是多态!
作者: Franklin    时间: 2014-8-11 11:20
来学习一下
作者: 嘿~~    时间: 2014-8-11 12:45
你这个不是多态 啊,class Zi  extends Fu{}
创建父类引用子类对象
Fu  f  =new  Zi();这是多态。
对非静态变量和方法,f调用的是父类变量,子类覆盖或者继承父类的方法。
作者: air鹏    时间: 2014-8-11 19:31
定义了一个父类的引用去调用子类对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2