Java 支援混合繼承嗎?


繼承是指兩個類之間的一種關係,其中一個類繼承了另一個類的屬性。這種關係可以使用 extends 關鍵字定義為 -

public class A extends B{
}

繼承屬性的類稱為子類或子類,其屬性被繼承的類稱為超類或父類。

在繼承中,超類成員的副本會在子類物件中建立。因此,使用子類物件,您可以訪問這兩個類的成員。

示例

class Super{
   int a =100;
   int b = 200;
   public void superDemo(){
      System.out.println("This is a method of the super class");
   }
}
public class Sub extends Super{
   public void subDemo(){
      System.out.println("This is a method of the sub class");
   }
   public static void main(String args[]){
      Sub obj = new Sub();
      obj.superDemo();
      obj.subDemo();
      System.out.println(obj.a);
      System.out.println(obj.b);
   }
}

輸出

This is a method of the super class
This is a method of the sub class
100
200

繼承的型別

一般來說,繼承有五種型別,如下所示 -

  • 單繼承 - 在這種型別的繼承中,一個類繼承了另一個類的屬性。

示例

public class A{
   ........
}
public class B extends A{
   ........
}
  • 多級繼承 - 在這種型別的繼承中,一個類繼承了另一個類的屬性,而另一個類又繼承了另一個類的屬性。

            換句話說,當兩個類處於繼承關係時,第三個類繼承了它們中的子類。

示例

public class A{
   ........
}
public class B extends A{
   ........
}
public class C extends B{
   ........
}
  • 層次繼承 - 在這種型別的繼承中,一個類被多個類繼承。

            換句話說,在層次繼承中,我們可以有一個父類和 n 個子類。

示例

public class A{
   ........
}
public class B extends A{
   ........
}
public class C extends A{
   ........
}
  • 多重繼承 - 在這種型別的繼承中,一個類繼承了多個類的屬性。

            換句話說,在多重繼承中,我們可以有一個子類和 n 個父類。

示例

public class A{
   ........
}
public class B extends A{
   ........
}
public class C extends A,B{
   ........
}

但是,Java 不直接支援多重繼承,您需要使用介面來實現此目的。

  • 混合繼承 - 通常,上述任何兩種(或更多)型別的繼承的組合稱為混合繼承。

public class A{
   ........
}
public class B extends A{
   ........
}
public class C extends A {
   ........
}
public class D extends B,C{
   ........
}

Java 中的混合繼承

由於 Java 不支援多重繼承,因此 Java 中也不可能實現混合繼承。就像多重繼承一樣,您需要使用介面來實現此目的。

更新於: 2020年7月2日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.