请问接口的作用什么? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

请问接口的作用什么?

java中接口中定义的方法都是一些规范,并没有实现,当实现这个接口的时候我们仍然需要去实现接口中的方法,既然如何,我们为什么不抛开接口呢?虽然我知道接口肯定是有用的

展开
收起
蛮大人123 2016-02-22 10:34:21 2708 0
2 条回答
写回答
取消 提交回答
  • 用来抽象,比如定义好动物Animal的接口,然后猪狗可以是Animal的两个实现。
    2019-07-17 18:46:26
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    接口是JAVA为了实现类似C++里面的多继承的一种妥协方案。
    比如,有接口A,然后B、C、D都实现了接口A。
    就类似于B、C、D都继承了抽象类A,都可以调用A中定义过的方法。
    比如需要对B、C、D的对象做类似的操作,就可以写出类似的代码。
    甚至可以把类似的代码抽象封装成函数,类等等。
    传递参数的时候,可以把类型写成A,那么B、C、D类的对象就都可以传递进来。
    各种。
    总之,接口不是为了规范产生的,它的好处也不是什么规范,而是尽量抽象,减少重复的代码。
    (说的装逼一点,叫更加符合面向对象的思想blabla……)
    (另外,不规范都是程序员的问题,接口并不能拯救世界。)
    实现类似的效果,只有两种方案:
    方案1:B、C、D都继承于A。
    方案2:B、C、D都实现A的接口。
    但是很明显,JAVA不支持多继承……于是只能用方案2,实现多个接口……
    所以你懂的,接口是很必要的。
    但是用了函数和类,可以为你减少重复的代码啊。
    你在考虑用继承或者接口的前提,一定是要“ B,C,D具有相同或者类似的行为,可以整合到一起 ”。
    接口可以让你的B、C、D类的对象都可以当做同一个类型(A接口)的参数到处传递,做相同的操作。
    (也就是说,比如B继承Y,又实现了Z,那么B既可以当做Y类型的参数,又可以当做Z类型的参数)

    2019-07-17 18:46:26
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新
相关电子书
更多
继承与功能组合
立即下载
建立联系方法之一
立即下载
“静态调用链路发现”应用场景分析及实践探索
立即下载