为什么用多态的方法没办法产生writeObject的方法?

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

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

1回答
好帮手慕柯南 2020-02-18 17:20:06

同学你好!

1.Java多态的三个必要条件:

  • 继承(实现)

  • 子类重写父类方法

  • 父类引用指向子类对象

2. ObjectOutputStream和OutputStream只满足继承父类引用指向子类对象,它并没有重写父类的writeObject方法

3.如果父类引用在调用方法时:该方法在父类中有,则可以正常调用子类中的。如果父类中没有,编译无法通过。

  • writeObject方法时ObjectOutput接口中的方法

    http://img1.sycdn.imooc.com/climg/5e4bab980954c55306810312.jpg

  • ObjectOutputStream实现了ObjectOutput

    http://img1.sycdn.imooc.com/climg/5e4babc3090cb0f906680160.jpg

  • 因此如果你这里想使用多态应该使用ObjectOutput

    http://img1.sycdn.imooc.com/climg/5e4babf7098bfa4f06500251.jpg

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

  • 老师 ObjectOutput是接口,不是父类,那这还算是多态吗
    2020-03-08 21:05:39
  • 同学你好,多态不止局限于类的继承。实现接口也是多态。祝学习愉快~
    2020-03-09 10:09:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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