感悟
本章可以说是一个小高潮,从第七章复用、第八章多态层层递进,每一节的例子都需要反复理解面向对象的含义。最后你会对接口爱不释手。
笔记
- 9.1 抽象类和抽象方法
进一步对继承和多态进行扩展升级,引出抽象类和抽象方法,也为引出接口做准备
- 9.2 接口
进一步引出接口,并实例了用法,接口的概念要慢慢理解,它是最终的集大成者,有着重要的意义。接口方法默认public,变量默认static和final都是非常重要的。接口使用起来,没有任何依据来证明接口是一个普通类、抽象类,还是一个接口。
- 9.3 完全解耦
这一节很重要,解耦的概念需要反复理解。先是从继承的角度讲解设计模式中的策略模式,进一步升级用接口的角度实现,同时运用了适配器模式在不改原有类的基础上进行适配接口。注意,此时多态的概念已经潜移默化,此例也是反复运用在实际代码框架中。作者高水平讲解展露无疑。
- 9.4 Java中的多重继承
引出接口的作用并不仅仅是类似抽象类的解耦,还有多重继承:只可继承一个类,但可继承多个接口,并可以向上转型为每个接口。
- 9.5 通过继承来扩展接口
1)组合接口时的名字冲突
接口可以继承接口用来扩展,也可以继承多个基类接口,而类不行。同时应尽量避免多个接口的名字冲突问题,否则会引起混乱。
- 9.6 适配接口
再次结合使用策略模式和适配器模式讲解了多重继承,充分体现了接口强大的地方。
- 9.7 接口中的域
1)初始化接口中的域
了解接口中初始化常量,自动public static final属性。后续被enum所替代。接口中的域被存储在接口的静态存储区域内,不是接口的一部分。
- 9.8 嵌套接口
了解就好,涉及内部类知识。
- 9.9 接口与工厂
引出接口创建的典型运用:工厂方法,同时为内部类留下伏笔。利用工厂方法生成某个实现的对象,好处就是能搭建复用的框架,代码将与接口的实现分离。
- 9.10 总结
强调接口的重要性,同时说明接口虽然是理想选择,但是要结合需求,防止滥用。