黑马程序员技术交流社区

标题: 继承的问题 [打印本页]

作者: 曹倩    时间: 2012-10-9 21:18
标题: 继承的问题
本帖最后由 曹倩 于 2012-10-10 08:35 编辑

    继承和实现的区别在哪里?
作者: 李兆宁    时间: 2012-10-9 21:28
继承,只能一个,继承父类
实现,可以多实现,实现接口。。
作者: 曾浩    时间: 2012-10-9 21:33
java 只支持单继承 即 只能继承一个类
java 可以实现多个接口 并且要覆盖接口中的方法  实现接口后还可以继承一个类  

作者: 黑马连家华    时间: 2012-10-9 21:40
java支持单继承和多实现
共同点:都是子类向上抽取的共性内容
不同点:子类只能继承一个父类,子类可以同时实现多个接口

作者: 张丽    时间: 2012-10-9 21:50
本帖最后由 张丽 于 2012-10-9 21:51 编辑

在java中继承是单继承,实现可以多实现。继承就必须要继承父类中的所有方法,二者有了所属关系,联系相对紧密。接口提高了功能的扩展性,定义一个规则,使用者和实现者双方都要遵守这个规则。比如笔记本电脑,电脑是使用接口,而外联设备如鼠标,移动硬盘,散热器等是实现接口,可以没有所属关系,只要实现接口,就可以使用接口的抽象方法,使用时覆盖此方法,写入具体内容即可。实现可以增强该类的功能。而且还允许继承一个类。如果一个类本身有了父类,要想使该类增加功能,就可以去实现接口。
作者: 葬天    时间: 2012-10-9 22:13
类:单继承,多实现
接口:多继承,多实现
作者: qhasilver    时间: 2012-10-9 22:23
继承和接口实现可以按字面意思来理解。
继承这两个字最常听到的就是说继承遗产,也就是父辈给你的东西,你全能得到。体现到程序里就是父类的功能,你全有了
接口实现就可以理解成为,父辈教会你如何才能实现理想,他没有给你实质的东西,只是一个理念,你按这个规矩做,你就能实现你的理想,体现到程序里就是父类提供接口,你按接口来重写方法,就能得到想要的东西。
区别在于:
你不可能同时有两个亲生父亲。=你只能单继承
但是你可以认好几个干爹,大家都懂的,干爹能给你很多好处。=你可以实现多个接口
就那个意思。



作者: 陈虹旭    时间: 2012-10-9 22:26
           类===继承===类(单继承)
           类===实现===接口(多实现)
           类===继承===类===实现===接口(单继承,多实现)
           接口=继承===接口(多继承)

继承和实现的用法相似,区别在于:
继承:子类继承父类时,继承了父类中的非抽象方法,实例化时只要把抽象方法重写便可实例化
接口:类实现接口时,接口中的方法都是抽象方法,类必须把接口中的所有抽象方法都重写以后才可以
实例化

Java中的类不支持多继承,是因为父类中的方法有重复,会导致子类调用时出现问题。
Java中支持多实现,是因为抽象方法都没有方法体,可以随意重写,如果两个接口中的抽象方法一样,类中只
需重写一次即可,将一样的方法都覆盖了


个人理解,希望对你有帮助!
作者: 刘 佳    时间: 2012-10-9 23:03
继承和实现

java中只支持单继承,但是可以多实现,这样就弥补了单继承的缺陷

用毕老师的例子来理解,假如你是公务员,那你就继承公务员这个类,具备它的属性和行为。但是你除了做公务员还搞点小副业,开个卖店,这个就是实现。

接口就是为了拓展程序的功能的。
作者: 王梁星    时间: 2012-10-9 23:09
中英文的名字就不一样。按字面解释是:继承,extends,还有扩展的意思;implements,实现,还有个(人)提供(工具,手段)的意思。知道了英文的意思,配合API或者查阅其他资料后两者区别就一幕了然了。这也算一种学习方法吧,毕竟很多技术是老外搞出来的,看原文资料对提高水平帮助真是不小。

extends:单继承,但可以多层继承,用于类;
implements:多(接口,想想管子吧)实现,多层实现,用于接口




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2