为什么类不能多继承,而接口可以多继承

类不能多继承的原因是:防止两个相同的方法被子类继承,如果是两个相同的继承 既不会知道重写哪个被继承的父类,又不是重载.且会导致方法体合并。
接口可以多继承的原因是:当有相同的方法时候 二合一,因为接口里面的方法没有方法体。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抽象接口是面向对象编程中的两个重要概念,它们在实现上有一些区别,导致抽象可以实现接口,而接口不能继承抽象。下面我来详细解释一下原因: 1. 抽象的特点: 抽象是一种不能被实例化的,它只能作为其他的基来使用。抽象可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,需要子去实现。非抽象方法则有具体的实现,子可以直接继承和使用。由于抽象可以包含非抽象方法,所以它可以提供一些默认的实现,子可以选择性地覆盖这些方法。 2. 接口的特点: 接口是一种纯粹的规范,它定义了一组方法的签名,但没有具体的实现。接口中的所有方法都是抽象方法,子必须实现接口中定义的所有方法。接口可以被多个同时实现,一个可以实现多个接口。 由于抽象可以包含非抽象方法的具体实现,所以它可以实现接口中定义的方法。这样做的好处是,当一个同时需要提供一些默认的实现和遵循某个接口时,可以使用抽象来实现接口中的方法,并在抽象中提供默认的实现。子可以选择性地覆盖这些方法,或者直接继承使用。 而接口不能继承抽象的原因是,接口是一种纯粹的规范,它只定义了方法的签名,没有具体的实现。接口的目的是为了实现提供一种规范,要求实现必须实现接口中定义的所有方法。如果接口可以继承抽象,那么就会导致接口中包含了具体的实现,违背了接口的设计初衷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值