java 支持混合继承吗?

java 8object oriented programmingprogramming

继承是两个类之间的关系,其中一个类继承了另一个类的属性。可以使用 extends 关键字将此关系定义为 −

public class A extends B{
}

继承属性的类称为子类或子类,而继承属性的类称为超类或父类。

在继承中,会在子类对象中创建超类成员的副本。因此,使用子类对象可以访问两个类的成员。

示例

class Super{
   int a =100;
   int b = 200;
   public void superDemo(){
      System.out.println("这是超类的方法");
   }
}
public class Sub extends Super{
   public void subDemo(){
      System.out.println("这是子类的方法");
   }
   public static void main(String args[]){
      Sub obj = new Sub();
      obj.superDemo();
      obj.subDemo();
      System.out.println(obj.a);
      System.out.println(obj.b);
   }
}

输出

这是超类的方法
这是子类的方法
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 中也不可能实现混合继承。与多重继承一样,您需要使用接口来实现这一点。


相关文章