Java中的继承类型:单、多、多级和混合
已发表: 2021-06-30介绍
编程语言“Java”广泛用于移动、Web、桌面等应用程序的开发。它是 Sun Microsystems 于 1995 年开发的一种健壮的、高级的、面向对象的编程语言。尽管它是一种编程语言,Java 具有 API 和运行时环境 (JRE),因此也称为平台。
Java中有几个概念,有四个主要概念可以掌握该语言。 它们是抽象、封装、继承和多态。
在本文中,我们将重点介绍 Java 中的继承概念和java 中的继承类型。
什么是继承?
顾名思义,继承意味着继承属性。 允许类派生不同类的属性的机制称为继承。 有了继承的概念,程序中的信息可以分层组织。
在 Java 中,继承的概念允许用户创建类并使用现有类的属性。
与该概念相关的一些重要术语是:
- 类:它被定义为一组共享共同属性的对象。
- 子类:也称为派生类或扩展类,该类继承了另一个类的特性。 除了继承的字段和方法之外,从类生成的类还可以添加自己的字段和方法。
- 超类:超类表示其特征被子类继承的类。
- 可重用性:可重用性技术允许用户创建一个具有现有类的字段或方法的类(一个新类)。 它允许重用代码。
Java继承的重要性
在 Java 中实现继承提供了以下好处:
- 继承通过最小化重复代码来最小化代码的复杂性。 如果另一个类必须使用相同的代码,它可以简单地从该类继承到它的子类。 因此,代码组织得更好。
- 随着代码以更简单的形式组织,代码的执行效率会提高。
- 多态性的概念可以与继承一起使用。
句法
基本语法是
类超类{
—————-
}
类子类扩展超类
{
——————
—————–
}
继承类时使用关键字“extends”。 它定义了超类的功能正在扩展到子类。
创建的新类称为子类,而继承的类称为父类。
图 1:应用 java 继承的代码示例如下所示
资源
在上面的示例中创建了两个类 Calculation 和 My_Calculation。 方法addition() 和Subtraction() 从类计算继承到My_Calculation。 关键字 extends 已用于继承方法。
上述代码的编译和执行给出以下输出。
图 2:图 1 中代码的输出
资源
My_Calculation 类的创建将超类的内容复制到子类中。 通过子类的对象,用户可以访问子类的成员。
在某些情况下,当我们必须区分具有相同名称的子类成员和超类成员时,使用关键字“super”。 如果假设我们有两个类 Sub_class 和 Super_class 具有相同的方法,即 display()。 该方法的实现不同但具有相同的名称。 在这种情况下,为了区分方法超类和子类的方法,必须使用 super 关键字。
Java继承的类型
在 Java 中观察到不同类型的继承:
1. 单级继承
顾名思义,这种类型的继承只发生在一个类中。 只有一个类是从父类派生的。 单继承的流程图如下所示:
图 3:单级继承的图解说明
资源
两个类 Class A 和 Class B如图 3所示,其中 Class B 继承了 Class A 的属性。
图 4 :应用单级继承的代码示例
资源
2.多级继承
多级继承包括至少两个或两个以上类的参与。 一个类继承父类的特性,新创建的子类成为另一个新类的基类。
图 5:多级继承流程图
资源
从图5的流程图可以看出,B类是A类的派生类,C类是从B类进一步派生出来的,因此在多级继承中就产生了祖父类的概念。 但是,在 Java 中不能直接访问祖父母类的成员。
因此,图 5显示 C 类继承了 A 类和 B 类的方法和属性。
下面显示了一个多级继承的示例,其中包含三个类 X、Y 和 Z。类 Y 派生自类 X,它进一步创建了类 Z。
图 6:多级继承示例
资源
3.分层继承
许多子类从一个类继承的继承类型称为分层继承。
图 7:分层继承的图形表示。
在图 7中,我们可以观察到三个类 Class B、Class C 和 Class D 是从单个 Class A 继承而来的。所有子类在层次继承中具有相同的父类。
图 8:显示层次继承概念的代码示例
资源
上面的代码产生输出
喵…
吃…
除了Java 中的这些继承类型之外,还有其他类型称为多重继承和混合继承。 这两种类型都不支持通过类,只能通过使用接口来实现。
4.多重继承
多重继承是一种继承类型,其中子类可以从多个父类继承特征。
图 9:多重继承的表示
资源
图 4 显示 C 类派生自两个类 A 类和 B 类。换句话说,可以描述子类 C 继承了 A 类和 B 类的属性。
5. 混合继承
混合继承是一种结合了单继承和多继承的继承。 由于 Java 不支持多重继承,因此也可以仅通过接口实现混合继承。
图 10:混合继承的表示
资源
对于Java中不同类型的继承,最终目标是创建具有从超类继承的属性的子类。 创建的子类具有各种属性,它们是:
- 子类中继承的字段和方法可以直接使用。
- 新的字段和方法也可以在超类中不存在的子类中声明。
- 可以在子类中创建与超类中的方法具有相同签名的新实例方法。 该过程称为覆盖。
- 可以在子类中创建一个新的静态方法,该方法与超类中的方法具有相同的签名。 该过程称为隐藏。
从世界顶级大学在线学习软件课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
结论
本文讨论了 Java 中继承的重要概念以及 Java 中的继承类型。 因此,继承是我们可以重用代码以便将一个类的属性获取到另一个类的机制。 这可以通过文章中所示的不同类型的继承模式来实现。 然而,继承的概念还有很多。 要在开发领域脱颖而出,需要掌握 Java 的复杂编程。 如果你有创新智能设备的梦想,那么upGrad’s提供的全栈软件开发Executive PG Program将会是最好的选择。 该课程由利物浦约翰摩尔斯大学认证,与班加罗尔 IIIT 联合提供 500 多个学习小时,专为早期专业人士设计。 从 upGrad 课程中学到的技能将有助于为软件开发、Web 开发、javascript 开发人员等领域开辟机会。对 21-45 岁年龄段的任何性别开放,交互式程序可能是最佳选择所有的编码员。
什么是继承?
继承是一个新对象获取前一个对象属性的过程。 例如,您可以考虑一个“人类”类。 您可能希望在类中包含人类的许多属性,例如身高、体重等。因此,一种方法是在您的类中再次定义所有这些属性。 这可能是学习面向对象编程的好方法,但不是一个好习惯。 最好的方法是从特定类继承所有这些属性。 “child”类可以继承“human”(或“parent”)类的所有属性。 这在面向对象编程中称为继承。