7.对象村的优质生活
规划程序时要考虑到未来
用继承来防止子类中出现重复的程序代码
寻找更多抽象化的机会
要点
- 子类是extends父类出来的
- 子类会继承父类所有public类型的实例变量和方法,但不会继承所有private类型的变量和方法
- 继承下来的方法可以被覆盖掉,但是实例变量不能被覆盖掉
- 使用IS-A测试来验证结构的合理性
- IS-A关系是单方向的,河马是动物,单动物不一定是河马
- 当某个方法在子类中被覆盖过,调用这个方法时会调用到覆盖过的版本
- 如果类Y是extends类X,且类Y是类Z的父类,则Z应该能通过IS-A X的测试
运用多态时,引用类型可以是实际对象类型的父类,不仅如此,参数和返回类型也可以多态
遵守合约:覆盖的规则
- 参数必须一样,且返回类型必须兼容
- 不能减低方法的存取权限
方法的重载(重载与继承,多态无关)
- 返回类型可以不同
- 不能只改变返回类型
- 可以更改存取权限
- 本文链接: https://halo.cjh.kim/archives/headfirstjava7md
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!