面向对象
- 面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据。
初识面向对象
对象的创建分析
面向对象的三大特性
-
封装
- 高内聚,低耦合。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉。低耦合:仅暴露少量的方法给外部使用。
- 通常,应该禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这成为信息隐藏。
- 属性私有,get/set公开
-
继承
- 继承本质是对一批类的抽象,从而实现对现实世界更好的建模。
- extends的意思是扩展,子类是父类的扩展。
- Java中仅有单继承,没有多继承
- 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。
- 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
- 子类和父类具有 is a 的关系。
- 方法的重写。
-
多态
- 即同一方法可以根据发送对象的不同而采用多种不同的行为的方式。
- 一个对象的世界类型是确定的,但可以执行该对象的引用类型有很多。
- 多态存在的条件:有继承关系,子类重写父类方法,父类引用指向子类对象。
- 多态是方法多态,属性没有多态。
- instanceof
抽象类和接口
- 匿名代码块。静态代码块,无参构造方法执行顺序。
- 抽象类
- 接口
- 接口的作用
- 为什么抽象类有无参构造方法,缺不能直接new出来?