接口:

1.接口是一种特殊的抽象类,主要为了解决抽象类多继承的一个问题
 	2.使用interface关键字来定义接口
 	3.接口中,成员变量的修饰符类型是确定的
 	4.默认成员变量修饰符是 public static final 
 	5.默认的成员方法修饰符也是确定的
 	6.默认的成员方法修饰符是 public abstract
 	7.使用接口,用implements关键字,而不是用extends
 	8.因为接口的属性是 静态并且不可修改  所以以后常量等可以写在接口里。
 	9.现在jdk1.8以后 想把接口和继承合二为一  但是 还是用于不同的应用场景
 	10.接口中其实还是可以使用方法体的
 					使用方式   default 修饰方法(自己了解一下)

共同点:

都是不断抽取出来的抽象的概念

接口实现和继承的区别:

(1):使用场景不同
 										继承:A is B        当存在以下逻辑时,推荐继承 :A是B
 										实现:A like B 	当存在以下逻辑时,推荐接口实现:A 具有 B这种功能
 				(2):接口实现:一个类可以实现多个接口
 						继承 :一个类只能继承一个父类
 				(3):抽象方法,访问修饰符 随便写  有多种组合 构造 普通成员 普通方法  三者皆有
 						而接口中,访问修饰符固定,并且不支持构造 也不支持普通方法。

作者的话:很多时候都先写接口 在接口里面定义方法 就可以明确接口里面有什么功能 写完接口再构思接口的是实现

接口的特点:

(1) 接口时一种暴露的规则,代码开发一般要求先完成接口规范的开发,再完成接口的具体实现
 				(2) 接口是一种程序功能的扩展(基于多实现而来) 需要一个功能就写一个接口 加在实现后面就可以了
 				(3) 接口降低了程序的耦合性

接口可不可以继承接口?答案是可以! 当出现 接口A is 接口B 的关系时 可以使用接口之间的继承 来进行建模 ,抽象方法可以继续往下传递