关于多继承

关于多继承

为什么不可以多继承之前讲继承的时候不是好多子类继承自同一个父类吗,是因为Thread是线程所以才能被一个继承吗

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,Thread类也是有多个子类的,如下:

http://img1.sycdn.imooc.com//climg/5f117e1f09dbf0c810960424.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-07-17 17:09:46

同学你好,

1、为什么不可以多继承

因为多继承有副作用,如:钻石问题(菱形继承)。

假设类B和类C继承自类A,且都重写了类A中的同一个方法,而类D同时继承了类B和类C,那么此时类D会继承B、C的方法,那对于 B、C 重写的 A 中的方法,类 D 会继承哪一个呢?这里就会产生歧义。

如下:

http://img1.sycdn.imooc.com//climg/5f116a6a0992b62701760175.jpg

考虑到这种二义性问题,Java不支持多重继承。

2、Java不支持多继承,支持单继承,这是Java语言特性之一。在Java中,一个父类可以有多个子类,但一个子类最多只能有一个父类。好多子类继承自同一个父类是可以的,使用extends关键字就可以继承一个类,与这个类是否是Thead类无关。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 qq_ibertine_0 #1
    那为什么Thread就只能有一个子类呢,不能像别的夫类一样有多个子类
    2020-07-17 17:57:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师