接口和父类

接口和父类

接口的引用指向实现类实例对象,和

父类的引用指向实现类实例对象,说实话我真的弄不清,因为它们在太多的地方是相似的、雷同的,老师我真的对这两个概念分不清,希望你能解释解释,十分感谢!

还有,接口的引用指向实现类实例对象,这个引用到底是接口的还是实现类对象的?

包括父类的引用指向实现类实例对象,这个引用是父类的还是子类的?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕珊 2019-08-23 17:48:41

同学,你好!上面老师说的覆盖其实就是实现接口方法的意思。接口作为对象来声明,就是接口引用指向实现类对象。

接口的引用指向实现类实例对象,和父类的引用指向实现类实例对象。这两个概念本来就是为多态服务的,相似是很正常的。同学按他们各自的方式去使用就可以了。建议可以做一下本课程的在线编程题,体会一下它们的使用。

接口的引用指向实现类对象,引用就是接口的。父类引用指向子类对象,引用就是父类的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 鱼儿0001 #1
    老师。接口的引用指向实现类实例对象,是向上转型,这里我一点都不懂,毕竟接口又不是父类,哪里来的向上转型,这里具体解释一下吧,谢谢!
    2019-08-24 15:19:30
  • 好帮手慕珊 回复 提问者 鱼儿0001 #2
    同学,你好!不知道看了之前几个问答的回复,同学对这个问题是否了解了呢?虽然接口不是父类,但是被我们的Java开发者设计成了可以这样使用。所以在实际应用中,按照各自的规则去使用就可以了。祝学习愉快!
    2019-08-24 16:26:15
好帮手慕小班 2019-08-15 11:00:18

        同学你好,这里我们可以举一个例子,来为同学解释一下:接口是为了统一标准的, 比如: 飞行器都有有飞的功能,我们把飞行定义成接口,那其它类在使用时,自然是要实现这个接口,实现飞这个方法,而我们在说明这个是一个什么类型的对象的时候,自然也可以说这是一个飞行的对象!而继承的话就做不到这一点了!

在接口和父类中:

            1) 接口不能通过new  实列化对象,但是父类可以。接口中的普通方法都是抽象的,而父类中的方法没有限制。

            2)实现接口,就必须覆盖实现接口的方法。而继承就不一定覆盖父类中的方法呀

            多态首先是建立在继承的基础上的,先有继承才能有多态。多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式。

        例如:一个人可以有多个干爹(接口 -->接口的引用指向实现类实例对象),但只能有一个亲爹( 继承-->父类的引用指向子类的对象)!   

            3、接口作为对象来声明,其实就是常说的向上转型。

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的回复。说实话,看的我似懂非懂的,老师说的覆盖是什么意思?还有,最后一点,老师说:接口作为对象来声明,其实就是常说的向上转型。这是什么意思?接口怎么会作为对象来声明,又怎么会是向上转型?
    2019-08-23 16:07:52
好帮手慕酷酷 2019-08-14 15:03:25

同学你好,可以这样理解:

接口的引用指向实现类实例对象和父类的引用指向实现类实例对象

相同点:都可以看做是多态的一种表现形式。

不同点:

父类的引用指向子类的对象:父类一定指向一个子类,它是子类的对象

接口的引用指向实现类实例对象:接口一定指向实现类,它是接口的对象

2、接口的引用指向实现类实例对象:这个引用是接口的对象

父类的引用指向实现类实子类对象:这个引用是子类的对象

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!



  • 提问者 鱼儿0001 #1
    老师,1、你说的:不同点:父类的引用指向子类的对象:父类一定指向一个子类,它是子类的对象。接口的引用指向实现类实例对象:接口一定指向实现类,它是接口的对象。这两句话我都看不懂,能再解释下吗,谢谢!2、你说的:接口的引用指向实现类实例对象:这个引用是接口的对象。父类的引用指向实现类实子类对象:这个引用是子类的对象。我也没看懂,老师你讲解的也难懂了。
    2019-08-14 20:35:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师