名白 2017-05-05 06:44 采纳率: 0%
浏览 768

关于接口interface的一些小总结、问题。请求解答和更正。

1,有的接口,加上个 实现就能用里面的方法,不用自己去实现。这大概是个什么原理?
A继承B,B实现C的过程,在这个过程中,A成为了B的子类,B可以替子类实现C接口的某些方法,如果B没有实现,那么就需要A来实现
2,接口和抽象类是抽象类型定义的两种机制,其赋予java强大的面向对象能力,为甚?
(封装,继承,多态,,,,抽象)
3,合作,类似协议,如果针对一个比较庞大的项目,架构师可以李青业务定义接口,由别人去实 现。 定义好一个接口,文档(实现类的命名规范等,)给别人去开发、实现。
4,扩展性,需求变更后,通过接口去改或新建其实现类, 然后,从新引用实现接口的类
5,解耦,,具体是怎么达到解耦的效果的?
6,招牌,通过接口,快速的指导类的作用、用途等。
7,通过接口能更好的实现对开闭原则,修改的关闭,拓展的开放。

第二条,第五条求解答,其他的如有错误请更正!

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-05-05 07:10
    关注

    接口不能实现方法,抽象类可以,从抽象类派生的类如果在基类实现了接口的方法,不用再次实现就可以。
    接口和抽象类在底层实现上有根本的区别,实现接口相当于给类型打标签,继承抽象类,则是类的代码和数据的融合。
    解耦的意思是,原先你的A类的代码调用另一个类B的代码,那么这两个类是相互依赖的。如果你把A提取出来放在另一个项目中重用,那么还得带上B,反之,你不能随便修改B,因为它会影响A的调用。使用接口,那么A类依赖接口而不是B
    那么B或者换一个C、D、E,只要是实现了这个接口,都可以用。A的代码也可以抽取出来拿到另一个项目。举一个例子,现实中,类库有一个Collection,它有一个sort排序的方法,这个方法需要你定义排序规则。
    排序规则有很多种,所以你可以定义不同的代码类,只要符合comparable接口就可以。因此sort方法是通用的。因为在项目A中你用一个类实现comparable,在项目B中,你用另一个类实现,sort并不管哪个具体的类。

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?