理解 Java 中的基类

10 Sept 2024 | 4 分钟阅读

面向对象编程 (OOP) 的一个关键思想是继承,它使类能够继承其他类的特性和属性。通过使用基类和派生类,Java 中实现了继承的概念。在本文中,我们将探讨 Java 中的基类是什么以及它在编程世界中的重要性。

基类,通常称为超类或父类,是一种类,它充当其他类的模板或指南。多个派生类可以拥有其共有的特性和行为。通过建立基类,可以创建类之间的层次关系,从而鼓励代码重用并提供一种结构化的代码组织方法。

要在 Java 中创建基类,只需像往常一样定义一个类,但不要显式地继承另一个类。让我们看一个简单的例子来说明这一点

在上面的代码片段中,我们定义了一个名为“Animal”的基类。它有两个私有的实例变量 name 和 age,以及两个公共方法 eat() 和 sleep()。任何想要继承这些属性和行为的类都可以扩展 Animal 类。

让我们创建一个派生类,也称为子类或子类,它继承自 Animal 类

使用 extends 关键字,上面的示例中的 Dog 类扩展了 Animal 类。因此,Animal 类所有公共和受保护的成员(变量和方法)都会传递给 Dog 类。在此实例中,Dog 类继承了 Animal 类的 name、age、eat() 和 sleep() 的成员。此外,Dog 类还添加了一个名为 bark() 的新函数,该函数仅供狗使用。

通过利用继承和基类,我们可以构建代表现实世界关系和行为的类层次结构。可以有多层继承,每一派生类都增强了其基类的特性。这鼓励代码重用,减少了重复,并提高了整个代码库的结构和组织性。

在 Java 中,当在派生类中引用基类成员时,您还可以使用 super 关键字。这使您能够访问和使用基类的构造函数或方法。在 Dog 类示例中,您可以通过使用 super(name, age) 行调用 Animal 类的构造函数来初始化从基类继承的 name 和 age 变量。

需要牢记的是,Java 提供单继承,这意味着一个类只能扩展一个基类。通过使用接口,它们为类提供了一种创建它们可以实现的契约的方法,您可以实现多重继承式的行为。

这是文章中提到的示例的完整代码

文件名: Main.java

输出

The animal is eating.
The animal is sleeping.
The dog is barking.

代码中有三个类:Animal、Dog 和 Main。Dog 类扩展了 Animal 类并从中派生,而主类包含用于运行程序的 main 方法。Animal 是基类。

在 main 方法中创建的 Dog 类的 dog 实例的构造函数中传递了名称“Buddy”和年龄 3。然后我们调用 dog 对象的 eat()、sleep() 和 bark() 函数。输出中显示了动物正在进食、睡眠和吠叫的相关消息。

这说明了 Dog 类如何从 Animal 类继承 eat() 和 sleep() 方法,并用 bark() 函数添加了自己独特的行为。

请注意,每个类都必须保存在自己的文件中,文件名与类名相同,并带有 .java 扩展名,例如 Animal.java、Dog.java 和 Main.java。

总而言之,Java 基类充当其他类的基础或模型。它通过封装可以传递给派生类的共享特性和行为来鼓励代码重用并有逻辑地组织代码库。通过理解和正确利用基类,您可以创建更具可扩展性和可管理性的 Java 程序。