接口:
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 的关系时 可以使用接口之间的继承 来进行建模 ,抽象方法可以继续往下传递
















