java中的接口

java 小课堂

分享人:深圳分院 何东霖

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.扩展思考

6.参考文献

7.更多讨论

1.背景介绍

什么是接口

接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。接口是一种100%纯抽象的类,是无法被初始化的类。

JAVA中没有多重继承的机制,所以提出了接口的概念,可以完成多重继承的功能。

2.知识剖析

接口的定义

1.接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。

2、Java接口中的成员变量默认都是public,static,final——不可修改。

3、Java接口中的方法默认都是public,abstract类型的,没有方法体,不能被实例化

4、接口中没有构造方法,不能被实例化

5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口

6、Java接口必须通过类来实现它的抽象方法

7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类

8、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.

9、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例

3.常见问题

为什么要使用接口?而不是在类里直接编写方法?为什么要多出一步去写实现类,而不是直接在接口中实现呢?

4.解决方案

面向接口编程,大家都分头按照接口规定的内容去办事,开发团队的协同性就显现出来了,各自做完之后就能轻松的整合到一起,提高了开发效率,各部分的测试也更加的方便

5.扩展思考

接口和实现分离又有怎样的好处呢?

 隐藏实现细节

达成封装

1.便于多人同时开发。 如果一个人同时写接口和实现,那么接口就可有可无,但是如果一个人写接口一个人写实现,就需要用到接口来制定规则,不然会产生不能使用的结果。

2.同一个接口可以有多个实现类(面向对象三大特性之多态)。

3.代码整洁,易读易改。 从接口到实现类,因为相互分离而有着明确地层次关系与逻辑关联,让程序变得清晰而直观,别人理解代码以及相应的功能也就更方便。这一点上节约了后期迭代开发的成本。 而因为程序依赖之间的低耦合性,也让更改程序变得方便 当需要修改一些内容或者添加其他的需求那么就不需要对代码进行重构,而是可以直接使用接口并添加实现类就够了。

6.参考文献

链接:http://www.runoob.com/java/java-interfaces.html 作者:runoob.cob 链接:https://www.jianshu.com/p/7f02efd000db 作者:lance的心思 书籍:JAVA 核心技术 卷I

杨以杰、常雷雷师兄的小课堂

7.更多讨论

鸣谢

感谢观看,如有出错,恳请指正,欢迎交流。

BY : 深圳分院 何东霖