实现接口和类继承的区别

在java中A类实现了X接口,和A类继承了Y类,有什么区别啊?自我感觉上,实现接口的意思就相当于继承,只是称呼方法不同而已,我这样理解对吗???

区别如下:

1、使用方面: 

类在继承抽象类的时候,非abstract方法和属性都继承,同时abstract方法帮忙实现。

类在使用接口就像是一个模块化的机器,安上个音频接口,内部就得做个功放功能。设计好之后要按什么接口就得有什么功能。

2、结构方面: 

抽象类的更像是一种树形结构,一个抽象类的范围就是下面的子类,别的管不着也没必要管。

接口的更像是一种层间结构,上层跟下层的沟通办法就是这个接口,上层想怎么调用就按照接口调用就行。

3、在逻辑方面: 

按照逻辑顺序,一般先设计了接口,后写类,又因为类变多了,才抽象出了抽象类方便写更多的类。

接口定义了类的功能,抽象类抽象出了一些类的特征。

4、在代码书写方面: 

抽象类提高了类和类的内聚程度,减少了代码量。

接口降低了类和类的耦合度,但是增加了代码量。

参考资料:

百度百科--接口

百度百科--继承

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-05
1、java类可以一次继承多个接口,用implements 接口1,接口2;
2、如果是接口继承接口的话也可以用extends,接口是多继承的,java类才是单继承;
3、接口继承接口可以不实现父接口中的方法,可以声明自己的新方法;
4、类实现接口时,一定要实现接口中声明的方法,如果接口中没有定义抽象方法则不需要,但是要注意,类实现了一个接口A,如果B是A的父接口,且B中有抽象方法,则该类必须实现A和B中的所有抽象方法;
5、抽象方法只能定义在抽象类中,抽象类实现接口,可以不实现接口中的抽象方法。
第2个回答  2008-03-21
接口中,只有方法,没有定义,这就要求实现接口必须定义实现接口中所有的方法,但继承则不然,此其一
一个类,只能继承自一个基类,但是可以实现多个接口,此其二;

如果对抽象类理解不错的话,你可以吧接口看成一个极度的抽象类,没有实现任何方法;
第3个回答  推荐于2017-09-01
很不相同。实现接口,就必须覆盖实现接口的方法。而继承就不一定。
而且接口和类本身就有区别。本回答被提问者采纳
第4个回答  2008-03-21
这样理解当然不对了,接口定义方法,而没有具体的实现。
B类实现了A接口,就是B类把A接口中定义的所有方法都实现了;A接口定义的方法在B类中一个都不能少,都要去具体实现。
X类继承了Y类,X类就可以直接使用Y类中的方法(不用去实现Y类中的方法,方法已经实现了,当然抽象类例外哦)。
相似回答