Java中有多继承吗?

Java中是不支持多继承的,但是提供了一些可以实现同样效果的机制——接口的多实现和接口的多继承。

1.什么是接口的多实现?

就是一个类(包括抽象类和普通类)可以同时实现多个接口。

class Test implements Shape,Tool{}//Tool后边可以通过‘,’的间隔继续实现其他接
2.什么是接口的多继承?

即接口之间可以实现多继承。

interface Test extends Shape,Tool{}//Tool后边可以通过‘,’的间隔继续继承其他类
3.继承+接口多实现
class Test extends FutherTest implements Tool,Shape{}

4.为什么接口可以实现多继承而类不可以呢?

      由于接口是一种抽象形式,其中的所有方法只有声明而没有方法体,所以当一个类实现多个接口或者一个接口继承多个接口时即使不同接口都含有同样的方法(即方法完全相同)也不会因为这个而不知该实现哪个接口中的方法,因为所有的方法都是一样的。

      而类就不同了,因为每个类中的方法必须有自己的实现,当A类和B类中同时出现方法show(),如果此时C类同时继承了A类和B类,那么到底该选择哪个show()方法就是一种歧义,因为俩个方法的方法体也许是完全不同的逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值