刚学概述的时候事没什么问题的
但一到代码中,问题一个接一个的来了
比如这种
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
定义了一个父类的引用去调用子类对象