学习目标:
- 深入理解Java核心技术(基础篇)
学习内容:
1.面向对象的五大基本原则
(1)单一职责原则:一个类应该有且只有一个去改变它的理由,这意味着一个类应该只有一项工作。
(2)开放封闭原则:对象或实体应该对扩展开放,对修改封闭。
(3)里氏替换原则:在对象 x 为类型 T 时 q(x) 成立,那么当 S 是 T 的子类时,对象 y 为类型 S 时 q(y) 也应成立。(即对父类的调用同样适用于子类)
(4)接口隔离原则:不应强迫客户端实现一个它用不上的接口,或是说客户端不应该被迫依赖它们不使用的方法。
(5)依赖反转原则:实体必须依靠抽象而不是具体实现。它表示高层次的模块不应该依赖于低层次的模块,它们都应该依赖于抽象。
2.多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
3. 继承与实现
(1)继承的根本原因是因为要复用,而实现的根本原因是定义一个标准。
(2)多继承会出现菱形继承问题,C++引入虚继承解决。
(3)组合与继承:继承是is-a的关系,组合是has-a的关系。同样可行的情况下建议用组合。
4.在定义一个Boolean类型的JavaBean时,应该使用success而不是isSuccess。
5. equals和hashCode的关系,equals和==的关系。
在没有重写equals方法的情况下,使用equals做比较,判断的是两个对象的引用是否相等。如果想判断两个对象的内容是否相等,则需要重写equals和hashCode方法。
在java中,==比较的是对象的引用<