一、OO基本概念:抽象、封装、继承、多态
- 封装的目的是隐藏事务内部的实现细节,以便提高安全性和简化编程。封装提供了合理的边界, 避免外部调用者接触到内部的细节。我们在日常开发中,因为无意间暴露了细节导致的难缠 bug 太多了,比如在多线程环境暴露内部状态,导致的并发修改问题。从另外一个角度看,封 装这种隐藏,也提供了简化的界面,避免太多无意义的细节浪费调用者的精力。
- 继承是代码复用的基础机制,类似于我们对于马、白马、黑马的归纳总结。但要注意,继承可以 看作是非常紧耦合的一种关系,父类代码修改,子类行为也会变动。在实践中,过度滥用继承, 可能会起到反效果。
- 多态. 你可能立即会想到重写(override)和重载(overload)、向上转型。
简单说,重写是 父子类中相同名字和参数的方法,不同的实现;
重载则是相同名字的方法,但是不同的参数,本 质上这些方法签名是不一样
public int doSomething() {
return 0;
}
// 输入参数不同,意味着方法签名不同,重载的体现
public int doSomething(List