Java教程18—Java中的继承类型

下面是Java中的各种类型的继承。我们将在示例和流程图的帮助下逐一看到它们中的每一个。


1)单一继承

单继承很容易理解。当一个类只扩展另一个类时,我们称之为单个继承。
下面的流程图显示B类只扩展了一个A类。这里A是B 的父类,B 是A 的子类。
Java教程18—Java中的继承类型_第1张图片

Class A
{
    public void methodA()
    {
        System.out.println("Base class method");
    }
}

Class B extends A
{
    public void methodB()
    {
        System.out.println("Child class method");
    }
    public static void main(String args[])
    {
        B obj = new B();
        obj.methodA(); //calling super class method
        obj.methodB(); //calling local method
    }
}

2)多重继承

“ 多重继承 ”是指一个类扩展(或继承)多个基类的概念。
我们之前学到的继承具有一个基类或父类的概念。
“多重继承”的问题是派生类必须管理对两个基类的依赖。
Java教程18—Java中的继承类型_第2张图片
注1:多重继承在软件项目中很少使用。使用多重继承通常会导致层次结构中出现问题。当进一步扩展课程时,这会导致不必要的复杂性。

注2:大多数新的OO语言,如Small Talk,Java,C#都不支持多重继承。C++支持多重继承。


3)多级继承

多级继承是指OO技术中的一种机制,其中可以从派生类继承,从而使该派生类成为新类的基类。
正如您在下面的流程图中看到的,C是B的子类或子类,B是A的子类。
Java教程18—Java中的继承类型_第3张图片

Java中的多级继承

Class X
{
    public void methodX()
    {
        System.out.println("Class X method");
    }
}
Class Y extends X
{
    public void methodY()
    {
        System.out.println("class Y method");
    }
}
Class Z extends Y
{
   public void methodZ()
    {
        System.out.println("class Z method");
    }
    public static void main(String args[])
    {
        Z obj = new Z();
        obj.methodX(); //calling grand parent class method
        obj.methodY(); //calling parent class method
        obj.methodZ(); //calling local method
    }
}

4)分层继承

在这种类型的继承中,一个类由许多子类继承。
在下面的示例类B中,C和D 继承了相同的类A。
A是B,C和D 的父类(或基类)。

Java教程18—Java中的继承类型_第4张图片


5)混合继承

简单来说,您可以说Hybrid继承是Single和Multiple 继承的组合。
典型的流程图如下所示。可以在java中实现混合继承,就像多继承一样!
使用接口。是的,就是接口。通过使用接口,您可以在Java中具有多个以及混合继承。

Java教程18—Java中的继承类型_第5张图片


原文地址:

https://beginnersbook.com/2013/05/java-inheritance-types/

你可能感兴趣的:(Java教程(翻译))