大家好,我是IT修真院深圳分院第5期学员,一枚正直善良的JAVA程序员。
今天给大家分享一下,修真院官网JAVA任务1中,Java中对于接口的定义
一、背景介绍
什么是接口
接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。接口是一种100%纯抽象的类,是无法被初始化的类。
JAVA中没有多重继承的机制,所以提出了接口的概念,可以完成多重继承的功能。
二、知识剖析
接口的定义
1.接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
2、Java接口中的成员变量默认都是public,static,final——不可修改。
3、Java接口中的方法默认都是public,abstract类型的,没有方法体,不能被实例化
4、接口中没有构造方法,不能被实例化
5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
6、Java接口必须通过类来实现它的抽象方法
7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类
8、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.
9、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例
三、常见问题
为什么要使用接口?而不是在类里直接编写方法?为什么要多出一步去写实现类,而不是直接在接口中实现呢?
4.解决方案
面向接口编程,大家都分头按照接口规定的内容去办事,开发团队的协同性就显现出来了,各自做完之后就能轻松的整合到一起,提高了开发效率,各部分的测试也更加的方便
五、编码实战
六、扩展思考
接口和实现分离又有怎样的好处呢?
隐藏实现细节
达成封装
1.便于多人同时开发。 如果一个人同时写接口和实现,那么接口就可有可无,但是如果一个人写接口一个人写实现,就需要用到接口来制定规则,不然会产生不能使用的结果。
2.同一个接口可以有多个实现类(面向对象三大特性之多态)。
3.代码整洁,易读易改。 从接口到实现类,因为相互分离而有着明确地层次关系与逻辑关联,让程序变得清晰而直观,别人理解代码以及相应的功能也就更方便。这一点上节约了后期迭代开发的成本。 而因为程序依赖之间的低耦合性,也让更改程序变得方便 当需要修改一些内容或者添加其他的需求那么就不需要对代码进行重构,而是可以直接使用接口并添加实现类就够了。
七、参考文献
链接:http://www.runoob.com/java/java-interfaces.html 作者:runoob.cob 链接://www.greatytc.com/p/7f02efd000db 作者:lance的心思 书籍:JAVA 核心技术 卷I
杨以杰、常雷雷师兄的小课堂
八、更多讨论
Q1、接口命名中mapper和dao有什么区别?
答:没什么区别,mapper针对的是mybatis框架,dao是通用命名
Q2、接口和实现分离又有怎样的好处呢?
答:提高团队效率,让职能更加直观
Q3、接口可以被初始化吗
答:不可以,因为接口没有构造函数
今天的分享就到这里啦,欢迎大家提问和探讨!
PPT:PPT
感谢大家观看
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~
作者:东
链接://www.greatytc.com/p/7c3bf776f053
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。