当遇到一个对象A但愿使用另一个对象B提供的服务但不能肯定B究竟属于哪一个类的时候那么咱们能够将B提供的服务抽象成一个接口而后让A持有这个接口的实例来使用服务。对象
接口型模式包括:适配器模式、外观模式、合成模式与桥接模式继承
Abstract 和 interface区别:接口
基本区别:Abstract修饰的类能够有本身的数据成员,也能够有非Abstract。Interface中只能有静态的不能修改的数据成员,全部的成员方法都是abstarct。abstract修饰的类是类是一种继承关系,一个类只能一次继承关系,可是一个类能够实现多个接口。在abstract中咱们能够给方法赋予默认行为,interface在jdk8之后有default修饰的方法能够有默认行为。jdk
本质区别:Abstract是对一个概念本质的理解,而interface是对一个概念类似具备必定功能。jdk8