第八章:多态(上)

概述

多态通过分离做什么怎么做,从另一角度将接口和实现分离开来。多态不但可以改善代码的组织结构和可读性,还可以创建可扩展的程序。
多态的作用是消除类型之间的耦合关系。

8.2.1 方法调用绑定

将一个方法调用同一个方法主体关联起来 被称作绑定
若在程序执行前进行绑定(如果有的话,由编译器和连接程序实现) 叫做前期绑定。这是面向过程语言的默认绑定方式。C语言只有一种方法调用,那就是前期绑定。
后期绑定:在运行时根据对象的类型进行绑定。后期绑定也叫做动态绑定运行时绑定
java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是后期绑定。

8.2.2 产生正确的行为

java中所有的方法都是通过动态绑定来实现多态的。
只有非private方法才可以被覆盖,如果你覆盖了private修饰的方法,编译器虽然不会报错,但是却不会按照你的想法(多态)来执行。

8.2.5 缺陷:域与静态方法

只有普通的方法调用是多态的。

8.3 构造器和多态

构造器不具备多态性,构造器实际上是static方法,只不过是隐式声明的而已。
父类的构造器总是在子类的构造过程中被调用,而且按照继承层次逐渐向上链接,以使每个父类的构造器都能得到调用。
对象调用构造器要遵循下面的顺序:

  1. 调用基类(父类)构造器。这个步骤会不断地反复递归下去,首先是构造这种层次结构的根,然后是下一层子类,直到最低层的子类。
  2. 按声明顺序调用成员的初始化方法。
  3. 调用子类构造器的主体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

outer199

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值