接口的意义,

1. java当中继承一个接口,要重写他的方法的话,那为什么还要多此一举的去实现一个接口呢?

直接把方法写在类当中不就可以了?
就是说去掉类名后面的Implements 接口 ,可以不可以呢?

统一访问:
接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。如果我用接口,one.method1(); 那样我new a();就是用a的方法,new b()就是用b的方法

这个就叫统一访问,因为你实现这个接口的类的方法名相同,但是实现内容不同。

多重继承:
另外java用接口还有一个好处,就是java不支持多重继承,但是可以实现多个接口,这个在某种程度上可以看做进行多重继承的一种办法。

比如:
如果你开发业务逻辑代码,当你好不容易的实现了它全部的功能,突然用户需求要改,你在修改你代码的同时,调用你代码的其它人也会改,如果代码关联性
强的话,会有很多人都要改动代码,这样一来二去,程序会变得相当的不稳定,而且可能还会出现更多的新Bug,所有人都可能会陷入混乱。

但如果使用接口的话,在你使用它之前,就要想好它要实现的全部功能(接口实际上就是将功能的封装)。确定下这个接口后,如果用户需求变了,你只要重新写它
的实现类,而其它人只会调用你的接口,他不管你是怎么实现的,它只需要接口提供的功能。这样,很可能只需要把你的代码修改就可以了,其他人什么都不用做。
同时:这样做的话,使得开发人员能够分工明确,只要确定下来接口了,就可以同时进行开发,提高开发效率。另外,使用接口还有使用方便,可读性强,结构清晰
等优点。

定义一个接口,可以有多种实现。变量声明为接口变量,调用接口方法,以后切换实现类的时候,原有代码不用修改。

解耦,可扩展这是设计接口的主要原因之一

2. 为什么接口可以多继承,而类不可以?

如果有两个父类,两个父类里有一个相同的方法,那么作为子类应该怎么继承这个方法?父类1的还是父类2的?
但是实现多个接口则没问题,因为不管哪个接口,调用的都是同一个实现,因为只有方法名!
而且单继承的目的之一,就是降低复杂度,减少维护难度

  • 继承:描述事物的自然属性和行为的复用。
  • 接口:描述事物的社会属性和行为的复用。

因为继承父类包括实现,继承接口只包括接口,就是这样。
接口定义的是行为,比如走,很多对象都可以实现这个行为
但类定义的是对象的属性和具体行为

class 负责实现, interface负责接口;

内部使用的接口,作为程序内部的连接器,

在各处使用接口的对象调接口的方法,传递事件,然后在实现类重写方法的地方接受这些各处传递的事件,进行统一的处理。EventHubContext.

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页