黑马程序员技术交流社区

标题: 接口跟抽象类有什么区别?为什么必须要多类继承呢? [打印本页]

作者: zhuchangbao    时间: 2015-4-25 10:44
标题: 接口跟抽象类有什么区别?为什么必须要多类继承呢?
学到接口的时候感觉有点抽象,总是感觉接口很难理解。多继承在整个java中有点不是很突出的样子。

作者: 大西洋    时间: 2015-4-25 11:08
本帖最后由 大西洋 于 2015-4-25 11:18 编辑

接口其实可以理解为一个“招牌”~  比如你想吃大娘水饺,那肯定是在街上寻找有“大娘水饺”这个招牌的店铺对吧,然后你才能进去吃到水饺,如果没有招牌,谁知道你店里卖的是什么呢??   这个接口的作用就是如此,让想要吃水饺的顾客,知道去哪里吃 ~这是一点,第二点就是让店里的服务员知道,来的顾客想要做什么,服务员一看这个顾客类实现了吃水饺的接口,然后就知道:哦,这个顾客是来吃水饺的,不是来上厕所的~  然后就可以统一提供相应的服务~  而不用询问每个顾客想要做什么、更不用每个顾客专门派一个服务员;
接口的好处,就是如此,只要实现了吃水饺这个接口,顾客就能找到水饺店,服务员就能知道这个顾客是来干嘛的,一个服务员类,就可以接待所有的顾客~

作者: nate996    时间: 2015-4-25 12:45
大西洋 发表于 2015-4-25 11:08
接口其实可以理解为一个“招牌”~  比如你想吃大娘水饺,那肯定是在街上寻找有“大娘水饺”这个招牌的店铺 ...

谢谢啦,学习了。
作者: 澂澂    时间: 2015-4-25 13:04
接口和抽象是两个不同的东西、
接口就类似协议,遵循了接口就表示签了这份协议,协力里的内容就要遵守

抽象类,你就当成普通类来对待,只不过抽象类不能new 出实例
作者: zhuchangbao    时间: 2015-4-27 09:21
大西洋 发表于 2015-4-25 11:08
接口其实可以理解为一个“招牌”~  比如你想吃大娘水饺,那肯定是在街上寻找有“大娘水饺”这个招牌的店铺 ...

谢谢,你,浅显易懂,真的很感谢!!
作者: zhuchangbao    时间: 2015-4-27 09:25
澂澂 发表于 2015-4-25 13:04
接口和抽象是两个不同的东西、
接口就类似协议,遵循了接口就表示签了这份协议,协力里的内容就要遵守

谢谢你,挺好的。
作者: 智远    时间: 2015-4-27 20:34
接口其实是抽象类的变体,就是特殊的抽象类。Java是多重继承不是多继承,他可以形成一个体系结构




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2