Java为什么不支持多继承?

多继承指一个子类能同时继承于多个父类,从而同时拥有多个父类的特征,但缺点是显著的。


1.若子类继承的父类中拥有相同的成员变量,子类在引用该变量时将无法判别使用哪个父类的成员变量。

2.若一个子类继承的多个父类拥有相同方法,同时子类并未重写该方法(若重写,则直接使用子类中重写的方法),那么调用该方法时,将无法确定调用哪个父类的方法。

假设A类和B类都有 t 方法,但具体实现细节不一样。

C类则继承A类和B类,当C类调用 t 方法时,会出现歧义。

因为,A类和B类都有 t 方法,但具体的实现缺不一样,那么该调用哪个方法呢?

可以多实现是因为,接口中的方法没有具体实现。
实现多个接口时,就算两个接口中有相同的方法,但也不会出现矛盾。
因此,Java仅允许单继承,即一个子类只能继承于一个父类。但为了拓展子类的功能,Java使用接口以克服不使用多继承带来的不足。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值