java 实现接口和继承有什么区别

如题所述

首先的话,在 Java 中应该说“扩展”(extend)而不是“继承”(inherit),尽管知道它实现上就是C++那种继承,但逻辑上是不完全相同的。
再考虑到接口即协议,对接口的扩展,或是说对协议的扩展,实际上就包括了对其公用方法的扩展以及对其定义的扩展两个方面,其中扩展接口定义实际上即为对协议添加更多的约束,在减少了其可能包含的类的种类的同时也给了这些类更清晰的定义,也就允许用户基于这更清晰的定义做出更多的操作了。
所以呢,实际类的扩展实际上和继承是相同的,子类确实继承了父类的实现,但接口的扩展则只会获取到父接口的方法声明,继承的意味并不明显,更多的实际上在于对其原协议的扩展,因此应将子接口和父接口间的关系视为扩展而不单单是继承
其实就是多去思考为什么在Java这叫扩展不叫继承,很多问题就迎刃而解了
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-05
1、java类可以一次继承多个接口,用implements 接口1,接口2;
2、如果是接口继承接口的话也可以用extends,接口是多继承的,java类才是单继承;
3、接口继承接口可以不实现父接口中的方法,可以声明自己的新方法;
4、类实现接口时,一定要实现接口中声明的方法,如果接口中没有定义抽象方法则不需要,但是要注意,类实现了一个接口A,如果B是A的父接口,且B中有抽象方法,则该类必须实现A和B中的所有抽象方法;
5、抽象方法只能定义在抽象类中,抽象类实现接口,可以不实现接口中的抽象方法。
第2个回答  2016-11-21
1,一个类只能继承一个类,但是可以实现多个接口。
2,依赖倒转原则: 依赖抽象(例如接口),不要依赖于实现。
3,合成/聚合复用原则(CARP): 尽量使用合成/聚合,而不是继承关系达到复用的目的。
4,接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。
5,继承传达的是意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。本回答被提问者和网友采纳
第3个回答  2016-11-21
继承除了抽象方法还有普通方法,接口只有抽象方法
继承的成员变量无限制,接口的成员变量必须是常量,即用public static final修饰
继承有构造方法,但不能进行实例化,接口没有构造方法
继承只可以单继承,接口可以多实现

java中继承与实现接口的区别与联系是什么啊?知道的说一下,我这里谢谢了...
继承是子类继承父类的方法,字段等,只能单继承,实现接口是实现父类定义好的一些未实现的方法,然后在子类实现,可以多实现

请问java中继承和接口有什么区别?将仔细点,菜鸟。。谢谢了
继承是extended命令,一个类只能继承一个父类,class A extended B,C这种是错误的。继承后,子类可以使用父类的方法。接口是implements命令,一个类可以有很多接口,class A implements B,C,D是可以的。定义了接口之后,子类需要覆写掉接口中的方法,因为接口方法是没有具体实现的。

继承和接口的实现的区别
1、java类可以一次继承多个接口,用implements 接口1,接口2;2如果是接口继承接口的话也可以用extends,接口是多继承的,java类才是单继承;3接口继承接口可以不实现父接口中的方法,可以声明自己的新方法;4类实现接口时,一定要实现接口中声明的方法,如果接口中没有定义抽象方法则不需要,但是要注意,...

Java中继承和接口的区别
1,一个类只能继承一个类,但是可以实现多个接口。2,依赖倒转原则: 依赖抽象(例如接口),不要依赖于实现。3,合成\/聚合复用原则(CARP): 尽量使用合成\/聚合,而不是继承关系达到复用的目的。4,接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。5,继承传达的是意思是:...

Java中继承和接口的区别
理论上:类只能单继承,接口可以多继承(接口应该叫实现);实践上:我们说类的继承一般继承的是事物的属性,如:姓名,年龄,性别 等,而接口的继承(或者说实现)一般是继承事物的行为,如:行走,飞翔,游泳(这比较抽象,在一般项目中大部分是指对某事物的增删改查等操作)总之,单继承描述了“...

Java继承和实现的区别是什么?
表面的区别就是单继承多实现 继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理...

java中继承与承载的关系与区别
1,“继承”与“实现接口”在java里面是面向对象的两种实现方式,“继承”在java里面只支持单一继承,而“实现接口”可以实现多个接口,而java里一般是推荐后者的 2,“继承接口”即接口之间的继承也只能是单一继承关系,子接口自动具有父接口的所有抽象数据和方法,但这些方法还都是抽象的;而“实现接口”...

java为什么?在开发中,一个类永远不要去继承一个已经实现好的类,要么继...
代理 桥梁 门面 装饰者 适配器等模式)3、使得在实现系统时不比考虑到具体类的实现(如:开发的时候一般都是先写接口之间的关系)最后:Java的设计之初就是单继承的,和c++等多继承的不同,但是Java为了处理这个缺陷,使用多实现接口的方式,来弥补,所以说,就是避免单继承的局限 望采纳。。。

在java中一个类只能实现一个接口
在Java语言中,类可以同时继承另一个类和实现一个或多个接口。但是,继承和实现在语法和语义上有很大的区别。首先继承是一种is-a关系,表示子类is-a父类是一种类之间的关系。而实现是一种has-a关系,表示一个类has-a某个接口,是一种类和接口之间的关系。其次,在语法上,Java语言只允许一个类...

JAVA的包和继承和接口有什么不同,,不是都引用JAVA内部的定义类吗...
我强烈建议你去看thinking in java,好好把面向对象的思想弄清楚,不要总看一些国内的破教程,没有掌握java编程思想,很容易陷入误区,有很多人觉得初学者不要看thinking in java,这是非常错误的!基础不打好,后面会走很多弯路,你如果在继承,接口等面向对象的概念上很模糊的话,强烈建议你去把这本...

相似回答