java中接口中定义的方法都是一些规范,并没有实现,当实现这个接口的时候我们仍然需要去实现接口中的方法,既然如何,我们为什么不抛开接口呢?虽然我知道接口肯定是有用的
接口是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类型的参数)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。