首页 >Java >java教程 >Java 中的混合继承

Java 中的混合继承

王林
王林原创
2024-08-30 15:26:241173浏览

继承是JAVA语言的一种属性,一个类的函数和成员可以被其他类继承和使用。这有助于推进干净代码的使用和可重用性。 JAVA确实提供了不同种类的继承,但提供了多重继承。为了克服这个缺点,JAVA在接口的帮助下使用混合继承。混合继承是不同类型继承(特别是单级继承和多级继承)的组合。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

混合继承在 Java 中如何工作?

例如,有不同的类名为“A”、“B”、“C”和“D”。假设类“A”和“B”扩展了类“C”。此外,另一个类别“D”扩展了类别“A”。这里,类“A”是子类“D”的父类,也是父类“C”的子类。  这可以通过下图来证明:

Java 中的混合继承

混合继承的语法与普通继承没有什么不同。这里唯一需要注意的一点是,在同一个程序中实现了多个继承来实现这一结果。此功能的优点是可以在现有功能的基础上添加功能,从而减少编码人员从头开始编写代码的工作。

Java 中的混合继承示例

说明: 下面的代码片段演示了 JAVA 中混合继承的工作原理。在下面的代码中,使用函数名称 display() 声明了四个类。 Display() 函数返回 void,但内部调用 println() 函数在输出屏幕中打印字符串。 Println()函数是JAVA使用java输入输出库在输出屏幕上打印字符串的标准函数。它接受一个字符串作为分号下捕获的参数。

这里的主要类是test4。主类是声明 main 函数的类。这里主类声明为:

public static void main(String args[])

这个main函数接受一个字符串作为输入参数并返回void。该函数默认是公共的,并且是程序执行时第一个调用的函数。 main 函数创建了一个主类“test4”的对象。类test4的对象是“object”。该对象正在调用一个函数显示。 test4 的显示函数中的字符串因此被打印出来。

这里需要注意的是test4类继承了test1类的属性。 Test1 又继承了 test3 的属性。测试 2 也继承了测试 3 的属性。因此有两个类继承测试3,它们是:测试1和测试2。所以在这里我们可以看到不同类型的继承,例如单一继承和分层继承。  上面的例子是一个层次继承和单一继承的例子。

类 test1 和 test2 扩展了类 test3 → 分层继承

类 test4 扩展类 test1 → 单继承

下面的代码可用于了解其工作原理。

代码:

//Class test3 which works as a parent class for other two child classes.
class test3
{
// this function is used to class print function. This function name is used in other class as well but with other string in it. This feature in JAVA is called as function overloading.
public void display()
{
System.out.println("the program control is in class test3");
//JAVA standard function to print the string in the output screen.
}
}
//Here test1 class in extending test3’s function. This is hierarchal inheritance.
class test1 extends test3
{
//JAVA function overloading. Same function name is used again in the other class.
public void display()
{
System.out.println("the program control is in class test1");
}
}
//Here test2 class in extending test3’s function. This is hierarchal inheritance.
class test2 extends test3
{
public void display()
{
System.out.println("the program control is in class test2");
}
}
//This is the main class which is extending test1. Such inheritance is called a single inheritance.
class Main extends test1
{
public void display()
{
System.out.println("The program control is in class test4 and It is an example \n to demonstrate the working of hybrid inheritance in JAVA.");
}
public static void main(String args[]){
//”object” objet is created by instantiating test4 class. His class is then used to call display() function from class test4.
Main object = new Main();
object.display();
}
}

输出:

由于主类在test4中,所以java程序应该以“test4.java”的名称保存。

在CMD中,我们需要导航到保存该文件的路径。在本例中,我将文件保存在桌面上。然后输入“JAVAC test4.JAVA”编译程序。编译完成后,可以在桌面上看到一个名为“test4.class”的新文件。这是JAVA的可执行文件。它由系统以与主文件名相同的名称保存,但只是名称从 .java 更改为 .class。然后我们可以使用命令“JAVA test4”执行该文件并找到输出结果。

Java 中的混合继承

结论

混合继承是一种在一个中实现两种不同继承类型功能的好方法。他由JAVA提供的特性使得代码可重用。 JAVA 不支持多重继承,但可以借助接口和继承来享受此功能。当我们尝试在代码中采用代码可重用性、多态性和封装等标准实践以符合行业标准时,这非常有用。这些做法可确保在较长时间内轻松维护代码。

以上是Java 中的混合继承的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn