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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告