分享人:曹樾
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
先介绍下背景
接口是什么?
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,
因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
接口的特点
1、Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用"_"分隔)
2、Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
3、Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法
4、接口中没有构造方法,不能被实例化
5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
6、Java接口必须通过类来实现它的抽象方法
7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类
8、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
9、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.
Interface和Impl这种方式的好处是什么?
便于封装
降低耦合
为什么要使用接口
对修改封闭,对扩展开放
写java的代码的时候,感觉到处都是接口,尤其是在写web的时候,spring的框架基本都是用接口来调用的,
难道仅仅是为了抽象而抽象,为了隔离而隔离?
我不明白这些接口存在的意义是什么,大部分的接口一直都只是对应一个类,而且基本永远也只会对应一个类,这些接口真的有必要存在么?
其实接口就是调用端和实现端做个规范,调用端和实现端按照规范做正确的输入和输出调用,
异常的输入输出捕获,双方对各自内部的业务都不需要了解
简书
百度
感谢观看,如有出错,恳请指正
BY : 曹樾