【问题标题】:Is that Considered Multiple Inheritance [duplicate]是否考虑多重继承[重复]
【发布时间】:2013-06-23 20:51:36
【问题描述】:
public class A {  // Extends from `Object` class
}

class B extends A { // Extends from `A`
}

class C extends B { // Extends from `B`
}

这算不算多重继承?

【问题讨论】:

标签: java multiple-inheritance


【解决方案1】:

没有。这只是普通继承的两个实例。多重继承就像

class A{
}

class B{
}

class C extends A, B{
}

但是,这不是 Java 可以做到的;不允许从多个基类继承,尽管接口允许它的大部分好处。

【讨论】:

    【解决方案2】:

    没有。这是继承树。您不会在 Java 中找到任何用于多重继承的示例,因为它不受支持

    【讨论】:

      【解决方案3】:

      回答NO。

      在java中只存在简单继承。

      public class A {  // Extends from `Object` class
      }
      
      class B extends A { // Extends from `A`
      }
      
      class C extends B { // Extends from `B`
      }
      

      你这里有的是

      C 是 B,B 是 A,A 是对象

      (C是传递性的A)

      多重继承是

      C is a B and also is a D, D is an object, B is a A , A is an Object

      在 java 中不允许多重继承(有多个父级)。

      你可以做的是实现多个接口,在那里你可以有一种多重继承。

      【讨论】:

      • 谢谢。我想我明白了
      【解决方案4】:

      多重继承是你在 Python 中看到的:

      class A(B,C,D,E,Infinity):
      

      其中“A”一次从所有这些类继承。所以答案是否定的,因为那不是你正在做的事情。

      【讨论】:

        【解决方案5】:

        不,你不能,正如@Reimeus 所说。

        多重继承看起来像:

        class A extends B, C, D, E

        这在 C++ 中是允许的,但在 Java 中是不允许的。你可以有多个接口,但不能扩展多个类。

        【讨论】:

          【解决方案6】:

          不,这不被视为多重继承。您描述的类层次结构实际上是单继承,因为您的每个类都仅从一个其他类继承。

          多重继承发生在单个类同时从多个类继承的情况下,但这是 Java 编程语言中不可用的语言特性。尽管它可以在其他语言中使用,例如 C++。通过不允许多重继承,Java 语言设计者正在寻求避免与多重继承相关联的diamond problem。

          一个Java类可以实现多个接口。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-06-02
            • 2016-08-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-06-11
            • 1970-01-01
            相关资源
            最近更新 更多