黑马程序员技术交流社区

标题: 为什么Java不支持多继承? [打印本页]

作者: Anmyre    时间: 2015-9-21 09:31
标题: 为什么Java不支持多继承?
为什么Java不支持多继为什么Java不支持多继承为什么Java不支持多继承?承?

作者: ln0491    时间: 2015-9-21 10:04
类和类之间 只扶持单继承,接口之间支持多继承
作者: zenghua    时间: 2015-9-21 10:11
多继承指一个子类能同时继承于多个父类,从而同时拥有多个父类的特征,但缺点是显著的。
1.若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。
2.若一个子类继承的多个父类拥有相同方法,同时子类并未覆盖该方法,调用该方法时将无法确定调用哪个父类的方法。
因此,Java仅允许单继承,即一个子类只能继承于一个父类。但为了拓展子类的功能,Java使用接口以克服不使用多继承带来的不足。
作者: Mr.W    时间: 2015-9-21 10:16
嗯,楼上说的有道理,
作者: 13706649811    时间: 2015-9-21 10:23
老毕说了 继承两个的话 同时出现一样的方法 不知道用那个 虚拟机就疯了
作者: maxwell247    时间: 2015-9-21 11:51
这个问题很简单。 head first java 里面讲过,  A类中有一个int method()方法,B类有一个bealoon method()方法,如果允许你  class C extend A,B的话,那么你使用C类的对象调用method()方法,到底是调用的哪个呢? jvm比较死板,它不认识,所以java就设计成不能多继承。但是java提供了 更牛逼的东西,接口interface。
作者: 920792433    时间: 2015-9-21 20:05
一个类只能 有一个父类    就好像是一个孩子只能有一个父亲一样~




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