【问题标题】:Multiple inheritance is not supported through class in java, but it is possible by an interface, why? [duplicate]java中的类不支持多重继承,但是接口可以,为什么? [复制]
【发布时间】:2020-05-20 13:44:41
【问题描述】:

由于歧义,类的情况下不支持多重继承。但是,在接口的情况下支持它。为什么在实施时没有歧义?

【问题讨论】:

标签: java oop multiple-inheritance extends interface-implementation


【解决方案1】:

这是因为接口只是说明了那里有哪些方法。我们需要定义方法将如何工作。 即使您定义了一个方法,它也会自动变为静态(从 java 1.8 开始。在接口中允许定义方法主体)。

在多重继承中,相同的函数可能在两个父类中定义不同,从而导致冲突。因此,不支持多重继承。

【讨论】:

  • 谢谢,但是即使抽象也只是说明了那里有什么方法,为什么抽象类不能进行多重继承?
  • Abstract 根据定义又是一个不完整的类,它可以有没有主体的方法,但您也可以在此处定义默认情况下不是静态的方法。因此,如果我们扩展两个抽象类,也会出现同样的问题。
猜你喜欢
  • 2011-03-27
  • 2016-04-18
  • 2014-03-04
  • 2011-05-06
  • 2011-04-15
  • 2011-03-17
  • 2011-03-24
  • 2011-06-21
  • 2011-02-21
相关资源
最近更新 更多