8、多态

+多态的作用是消除类型之间的耦合关系
允许将多种类型当作同一种类型来处理
一、再论向上转型
继承允许将对象视为它自己本身的类型或者基类型来加以处理,即向上转型。

Music.tune(Instrument)  接受一个Instrument引用,同时也接受任何一个导出自Instrument的类。
Wind继承自Instrument,所以Instrument的全部接口必定存在与Wind中
当传入为Wind类时,是允许的。
Wind向上转型为Instrument时,可能会缩小接口,但是不会比Instrument的全部接口更窄。

二、构造器和多态

  • 构造器的调用顺序
1、调用基类构造器,反复递归,直到最后一个导出类(即将该类的所有父类的构造器调用)
2、按声明顺序调用成员的初始化方法(调用声明成员的构造器)
3、调用导出类构造器主题(调用自己的构造器)
  • 多态
    多态存在的三个必要条件:继承、重写、父类引用指向子类对象
动态绑定:在执行期间判断所引用对象的实际类型,根据实际类型调用相应方法
多态的实现方式:
1、重写
2、接口
3、抽象类和抽象方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多态的作用是消除类型之间的耦合关系。 8.2 转机 除了static方法和final方法(private方法属于f...
    Lemon_Home阅读 225评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 1、.java源文件: 一个以”.java“为后缀的源文件:只能有一个与文件名相同的类,可以包含其他类。 2、类方...
    Hughman阅读 1,546评论 1 9
  • “什么啊?人家明明都是纯洁的友谊,老哥!你弄错了!” “傻傻傻玲子啊,他他他俩明明就是有意思嘛,怎…怎么能不是呢?...
    飏飏得意阅读 307评论 0 1
  • 妈妈,我的小鱼怎么了? 有一阵子,孩子在家里养了一条小鱼,每天都给它喂食,和他说话,简直成了一对好朋友,突然有一天...
    峰至阅读 751评论 2 7