心者觉也 发表于 2014-6-19 23:26
A a = new B();
Fu f = new Demo();
其中a,f都是子类实例化的对象向上转型得到,所以调用的都会是被子类覆 ...
Без_тебя 发表于 2014-6-20 00:03
因为你的A是个接口,里面没有fun方法,你调用fun方法肯定报错,f因为他实质是Demo类,当然调用Demo的fun方 ...
牵手相伴 发表于 2014-6-20 09:11
那为什么f就可以调用子类Demo中的方法呢
牵手相伴 发表于 2014-6-20 09:12
f的实质不应该是Fu类吗?不是应该和a是一样的代表的时候父类吗
Без_тебя 发表于 2014-6-20 12:56
f的实质是看右边的~~左边是引用~~,你可以这么想,f的实质是右边的类,左边是Fu类,Fu中有调用fun()方法 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |