java 继承是什么_java中继承指的是什么

java 继承是什么_java中继承指的是什么java中继承指的是什么发布时间:2020-08-2014:46:11来源:亿速云阅读:55作者:小新这篇文章将为大家详细讲解有关java中继承指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。java中继承是什么?Java中的继承是一个对象获取父对象的所有属性和行为的机制。它是面向对象编程系统(OOP)的重要组成部分。Java中继承的思想是,创建基于现…

大家好,又见面了,我是你们的朋友全栈君。

java中继承指的是什么

发布时间:2020-08-20 14:46:11

来源:亿速云

阅读:55

作者:小新

这篇文章将为大家详细讲解有关java中继承指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

java中继承是什么?

Java中的继承是一个对象获取父对象的所有属性和行为的机制。它是面向对象编程系统(OOP)的重要组成部分。

Java中继承的思想是,创建基于现有类的新类。从现有类中继承,可以重用父类的方法和字段。此外,还可以在当前类中添加新方法和字段。【相关视频教程推荐:Java教程】

继承表示IS-A关系,也称为父子关系。

继承中使用的术语

1、类:类是具有共同属性的一组对象。它是创建对象的模板或蓝图。

2、子类:子类是继承其他类的类。它也称为派生类,扩展类或子类。

3、超类/父类:超类是子类继承功能的类。它也称为基类或父类。

4、可重用性:正如名称所指定的那样,可重用性是一种机制,可以帮助您在创建新类时重用现有类的字段和方法。您可以使用上一课程中已定义的相同字段和方法。

为什么在java中使用继承?

1、可以实现方法重写(这样可以实现运行时多态性)。

2、继承允许我们重用代码,它提高了Java应用程序的可重用性。

Java继承的实现

Java继承的基本语法

要继承一个类,我们使用extends关键字。这里的类XYZ是子类,类ABC是父类。XYZ类继承了ABC类的属性和方法。class Subclass-name extends Superclass-name

{

//方法和字段

}

extends关键字表示我们正在创建一个从现有类中派生的新类。“extends”的含义是增加功能性。

在Java术语中,被继承的类称为父类或超类,新类称为子类。

继承示例:

在下面的继承示例中,类Bicycle是一个基类,类MountainBike是一个派生类,它扩展了Bicycle类,而类Test是一个运行程序的驱动程序类。//用java程序来说明

// 继承的概念

// 基类

class Bicycle

{

// Bicycle类有两个字段

public int gear;

public int speed;

// Bicycle类有一个构造函数

public Bicycle(int gear, int speed)

{

this.gear = gear;

this.speed = speed;

}

// Bicycle类 有三种方法

public void applyBrake(int decrement)

{

speed -= decrement;

}

public void speedUp(int increment)

{

speed += increment;

}

// toString()方法来输出 Bicycle类信息

public String toString()

{

return(“没有的齿轮个数是 “+gear

+”\n”

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

}

}

// 派生类

class MountainBike extends Bicycle

{

// MountainBike子类增加一个字段

public int seatHeight;

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

public MountainBike(int gear,int speed,

int startHeight)

{

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

super(gear, speed);

seatHeight = startHeight;

}

// MountainBike子类增加一个方法

public void setHeight(int newValue)

{

seatHeight = newValue;

}

// 重写toString()方法

// 输出跟多Bicycle类信息

@Override

public String toString()

{

return (super.toString()+

“\n 座位高度为 “+seatHeight);

}

}

// 驱动程序类

public class Test

{

public static void main(String args[])

{

MountainBike mb = new MountainBike(3, 100, 25);

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

}

}

输出:

6066746bef91d0d748e1cc0c11f53446.png

Java中的继承类型

在类的基础上,java中可以有三种类型的继承:单一,多级和分层。

1、单一继承:在单一继承中,子类继承一个超类的特征。在下图中,类A充当派生类B的基类。

34edf187b5ae9338cf6e235e199311f8.png

2、多级继承: 在多级继承中,派生类将继承基类,并且派生类也充当其他类的基类。在下面的图像中,类A用作派生类B的基类,后者又用作派生类C的基类。在Java中,类不能直接访问祖父母的成员。

ca9a8d63f9b203aa3c36cae1db5c97d0.png

3、分层继承:在分层继承中,一个类充当多个子类的超类(基类)。在下面的图像中,类A充当派生类B,C和D的基类。

15f4482f744f468df9266fc5e540545a.png

4、多重继承(通过接口):在多重继承中,一个类可以具有多个超类,并从所有父类继承功能。请注意,Java并没有支持多重继承与类。在java中,我们只能通过 Interfaces实现多重继承。在下图中,C类来自界面A和B。

b60cf225262b6e7e89a523578345d622.png

5、混合继承(通过接口):它是两种或多种上述类型的继承的混合。由于java不支持使用类进行多重继承,因此类也无法实现混合继承。在java中,我们只能通过Interfaces实现混合继承。

e7990151ba81b3f6eea45042005309bb.png

关于java中继承指的是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156391.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatiscodehelperpro2.9.3激活码_在线激活

    (mybatiscodehelperpro2.9.3激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~70YZDJVTFP-eyJsaWNlbnNlSWQiOi…

    2022年3月27日
    116
  • Linux 修改用户密码「建议收藏」

    Linux 修改用户密码「建议收藏」Linux修改密码用passwd命令,用root用户运行passwd,passwduser_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。[root@localhost~]#passwd##修改root用户密码Changingpasswordforuserroot..Newpassword:##输入新密码Retypene…

    2022年6月3日
    107
  • 百度面试题

    百度面试题1.一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。这道题的解答请看下一篇日志2.一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和

    2022年7月15日
    22
  • Automation服务器不能创建对象(金税盘)

    Automation服务器不能创建对象(金税盘)  1.安装防伪开票组件接口软件;  2.把接口的注册文件放到%防伪开票系统的安装目录%\BIN下  3.把%防伪开票系统的安装目录%\bin下的TaxCardX.dll文件复制至c:\windows\system32下  4.注册dll:在开始菜单中选择”运行”,输入”regsvr32TaxCardX.dll”5.  备注:此处电脑可能会提示不兼容,如:  …

    2022年6月1日
    32
  • 高速数据采集存储系统分类

    随着计算机技术发展,计算机总线速率、处理能力与存储技术得到了快速发展。就存储技术而言相比于五年前,现在不论是传输速率,存储速度与存储容量均有了不同数量级的变化。如现在的PCIeExpress总线可以实现3GB/s(Gen2.0,X8)以上,或6GB/s(Gen3.0,X8)以上的传输速率;而SATA磁盘容量也可以轻易实现动辄几T,多动几十T的规模

    2022年4月9日
    53
  • jquery validation engine ajax验证,jQuery Validation Engine 表单验证「建议收藏」

    jquery validation engine ajax验证,jQuery Validation Engine 表单验证「建议收藏」名称示例说明requiredvalidate[required]表示必填项groupRequired[string]validate[groupRequired[grp]]在验证组为grp的群组,中至少输入或选择一项condRequired[string]validate[condRequired[ids]]当ids的某个控件不为空时,那么该控件也为必填项。可以依赖多项,如:validat…

    2022年10月3日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号