Java中的继承类型与示例

已发表: 2022-06-26

Java 中的继承允许开发人员使用现有类创建新类。 它使代码的可重用性成为可能。 继承既可以是单级继承,也可以是多级继承。 继承减少了代码的冗余,使其更具可读性和可维护性,因此可以作为提高软件质量的工具。

目录

继承的重要性

在 Java 中,继承是一个类获取另一个类的属性和功能的方法。 继承可以节省时间、减少冗余、使代码更具可读性、可理解性和可维护性,并充当提高软件质量的工具。 继承在 Java 编程语言中有许多重要的应用程序继承使开发人员可以使用现有的类创建新类继承的类充当模板或蓝图继承提供软件可重用性继承的类充当父子关系继承的方法使继承的类独立继承的属性使继承的类独立的。

继承层次表示不同继承级别之间的父子关系。 最顶层的继承称为“超类”或“父类”。

从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

Java继承的语法

类子类名扩展超类名

{

//方法和字段

}

extended 关键字表示您正在创建一个继承其父级所有功能的新类。 它的意思是“增加”或增强已经存在的东西。

示例:在下面的继承示例中,Bicycle 类是基类,MountainBike 类是 Bicycle 类的派生类,Test 类是运行程序的驱动程序类。

输入:

// Java程序来说明

//继承的概念

// 基类

类自行车{

// Bicycle 类有两个字段

公共设备;

公共 int 速度;

// Bicycle 类有一个构造函数

公共自行车(int gear, int speed)

{

this.gear = 齿轮;

this.speed = 速度;

}

// Bicycle 类有三个方法

public void applyBrake(int decrement)

{

速度 -= 减量;

}

公共无效加速(整数增量)

{

速度+=增量;

}

// toString() 方法打印自行车信息

公共字符串 toString()

{

return (“齿轮数是”+齿轮+“\n”

+“自行车的速度是”+速度);

}

}

// 派生类

类 MountainBike 扩展自行车 {

// MountainBike 子类增加了一个字段

公共 int 座位高度;

// MountainBike 子类有一个构造函数

public MountainBike(int gear, int speed,

int startHeight)

{

// 调用基类(Bicycle) 构造函数

超级(齿轮,速度);

座位高度 = 起始高度;

}

// MountainBike 子类增加了一个方法

公共无效 setHeight(int newValue)

{

座位高度 = 新值;

}

// 重写 toString() 方法

//自行车打印更多信息

@Override public String toString()

{

return (super.toString() + “\nseat height is “

+ 座位高度);

}

}

// 驱动类

公共类测试{

公共静态无效主(字符串参数 [])

{

MountainBike mb = 新的 MountainBike(3, 100, 25);

System.out.println(mb.toString());

}

}

输出

齿轮数为 3

自行车的速度是100

座椅高度为 25

继承中使用的术语

  • :类是一组具有共同属性的对象。 这就像创建其他单个单元的说明手册或蓝图。
  • 子类/子类:子类是继承另一个类的类。 它也称为派生类、扩展类或子类。
  • 超类/父类:超类是子类继承特征的类。 它也称为基类或父类。
  • 可重用性:可重用性是面向对象编程的关键设计原则。 这意味着您可以在创建新类时重用现有类中的字段和方法,而不是每次都用单独的编码重复自己。

软件工程的热门课程和文章

热门节目
软件开发执行 PG 计划 - IIIT B 区块链证书课程 - PURDUE 网络安全证书计划 - PURDUE 计算机科学理学硕士 - IIIT B
其他热门文章
2021-22年美国云工程师薪水 美国 AWS 解决方案架构师薪水 美国后端开发人员工资 美国前端开发人员薪水
美国网络开发人员的薪水 2022 年 Scrum Master 面试问题 如何在 2022 年开始网络安全职业? 工程专业学生在美国的职业选择

Java继承的类型

1. 单一继承

单一继承意味着一个类扩展另一个类或一次使用相同的访问修饰符或不使用访问修饰符(即,公共或私有)实现多个接口。 创建的子类继承其基类/超类的所有成员函数和数据成员,但声明为私有的除外,并且这些成员可以被子类的成员和朋友访问。

请参考以下示例:

输入:

// Java程序来说明

// 单继承的概念

导入java.io.*;

导入java.lang.*;

导入 java.util.*;

一级{

公共无效打印_A()

{

System.out.println(“A”);

}

}

二类扩展一{

public void print_for() { System.out.println(“for”); }

}

// 驱动类

公共类主要{

公共静态无效主要(字符串 [] 参数)

{

两个 g = 新的两个();

g.print_A();

g.print_for();

g.print_Apple();

}

}

输出

一个

为了

苹果

2. 多级继承

多级继承是存在继承链的继承。 n 在Java 中,派生类不能直接访问祖父母的成员。 当你有一个像这样的继承层次结构时,每个新级别都从他们之前的另一个人或事物继承(反之亦然),任何一个组中的任何给定对象都变得困难,因为它们只能使用各自可用的东西水平; 因此使调试比必要的更乏味!

输入:

// Java程序来说明

// 多级继承的概念

导入java.io.*;

导入java.lang.*;

导入 java.util.*;

一级{

公共无效打印_继承()

{

System.out.println(“继承”);

}

}

二类扩展一{

public void print_in() { System.out.println(“in”); }

}

第三类扩展了两个{

公共无效打印_继承()

{

System.out.println(“Java”);

}

}

// 派生类

公共类主要{

公共静态无效主要(字符串 [] 参数)

{

三克 = 新三();

g.print_Inheritance();

g.print_in();

g.print_Java();

}

}

输出

遗产

爪哇

3.分层继承

层次结构中的两个类可以相互继承。 例如,如果 Dog 和 Cat 都属于 Animal,那么将存在层次继承,它们是该类的后代。

输入:

动物类{

无效吃(){System.out.println(“吃……”);}

}

类狗扩展动物{

void bark(){System.out.println(“吠叫……”);}

}

类猫扩展动物{

void meow(){System.out.println(“喵呜……”);}

}

类 TestInheritance3{

公共静态无效主要(字符串参数[]){

猫 c=新猫();

c.喵();

c.吃();

//c.bark();//CTError

}}

输出

喵…

吃…

4. 多重继承(通过接口)

Java 不支持类的多重继承,但可以通过接口实现它们。 在下图中,C 类是从 A 和 B 派生的,这意味着它们共享一些功能,同时根据他们在代码执行中的特定需求或实现用户所需的方法 (i) 来对另一些具有不同的实现。

输入:

// Java程序来说明

// 多重继承的概念

导入java.io.*;

导入java.lang.*;

导入 java.util.*;

接口一{

公共无效打印眼睛();

}

界面二{

公共无效 print_for();

}

接口三扩展一,二{

公共无效打印眼睛();

}

类子实现三个{

@Override public void print_eye()

{

System.out.println(“眼睛”);

}

public void print_for() { System.out.println(“for”); }

}

// 派生类

公共类主要{

公共静态无效主要(字符串 [] 参数)

{

孩子 c = 新孩子();

c.print_eye();

c.print_for();

c.print_eye();

}

}

输出

眼睛

为了

眼睛

5. 混合继承(通过接口)

混合继承是一种允许我们混合两种或多种类型的编程。 类不能单独做到这一点,因为它们只有一组方法,这意味着我们需要另一个对象才能使其正常工作,但是接口允许您在编写任何代码之前知道程序的外观,从而让您高枕无忧!

输入

(参考)

A 类和 B 类扩展 C 类 → 层次继承

D 类扩展 A 类 → 单继承

C类

{

公共无效显示()

{

System.out.println(“C”);

}

}

A 类扩展 C

{

公共无效显示()

{

System.out.println(“A”);

}

}

B 类扩展 C

{

公共无效显示()

{

System.out.println(“B”);

}

}

D 类扩展 A

{

公共无效显示()

{

System.out.println(“D”);

}

公共静态无效主要(字符串参数[]){

D obj = 新 D();

obj.disp();

}

}

输出:

D

如果您想深入了解 Java 中的继承和其他 OOP 概念,我们推荐了 IIIT-Bangalore 的 upGrad 软件开发执行 PG 计划 为期 13 个月的课程由世界一流的行业专业人士和教师设计,旨在培养 30 多种工具和软件的能力。 它包括 400 多个小时的内容、30 多个行业相关的案例研究和项目,以及 10 多个现场会议,以帮助您实现预期的结果; 该课程提供三个专业,即全栈开发、云后端开发和网络安全。

立即预订该计划的席位!

继承有哪四种?

Java 中的四种继承是: 1. 分层继承 2. 混合继承 3. 单继承 4. 多级继承

解释 Java 中的多态性。

Java 中的多态性是一个面向对象的编程概念,在该概念下,程序中的对象可以采用多种形式。 这样做允许单个对象以多种方式执行相同的操作。

解释 Java 中的多线程。

Java 中的多线程是一项功能,通过该功能可以同时执行程序的多个部分(每个称为线程)以实现最佳 CPU 利用率。