面向对象三大特征:继承、封装、多态。

封装:将同一类事务的特征和功能包装在一起,只对外暴露需要调用的接口

最好体现了封装特性的就是:接口(interface)

在接口中只有一些方法声明,为其实现类中对接口方法的逻辑代码实现。但当我们在调用时,通常是调用的接口中的方法。

而是使用者只需要知道接口有哪些方法,方法有什么用就可以了。而不用要知道其实现类中具体的执行过程。

封装的优势:

  • 1,实现专业分工,使用者只要了解怎么使用就可以了,开发者只要了解如何实现接口方法就可了。

  • 2,减少代码的耦合

  • 3,对类的内部结构可以自由修改

继承(面向对象最显著的特征):

从已有的类中,派生新的类。新的类可以实现又有类的属性和行为,并扩展新的能力。

注意:java中,类是不支持多继承的(一个类只能有一个父类,便于管理),而一个接口可以实现多个其它接口。

父类是子类的抽象总结,子类是父类的具体实现

动物--》食草动物--》羚羊、兔子、斑马

作为子类,既能使用父类的一些元素,又可以扩展自己的行为

实际工作中,继承主要使用在代码的抽象上,例如,现在有两个类,一个类是向表a插入数据,一个类是向b表插入数据。插入数据需要先获取数据库的链接,我们就可以针对这两个类抽象出一个父类,父类中实现数据库连接的方法。这两两个子类都可以直接使用此方法。

接口--的目的是,用于约束程序的行为。对于外侧使用者,暴露哪些方法

继承--更多的是用于实现类之间代码的重用,为了程序的健壮性和可靠性服务。

多态(三大特性中最重要的特性,封装和继承都是为多态服务的):

多态--是一个行为具有不同的实现形式好形态的能力。多态是同一个接口,使用不同的实例而执行的不同的操作。(例如:导出的接口,有导出excel和导出text文本)