java官方文档 继承_Java继承

Java中的继承

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

Java继承的思想是可以创建基于现有类的新类。从现有类继承时,可以重用父类的方法和字段。此外,您还可以在当前类中添加新的方法和字段。

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

为什么要在Java中使用继承

对于方法覆盖(因此可以实现运行时多态 )。

用于代码可重用性。

继承中使用的术语

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

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

父类/父类:父类是子类从中继承要素的类。也称为基类或父类。

可重用性:顾名思义,可重用性是一种机制,可在创建新类时方便您重用现有类的字段和方法。您可以使用上一类中已定义的相同字段和方法。

Java继承的语法

extend关键字表示您正在建立一个从现有类派生的新类。“扩展”的意思是增加功能。

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

Java继承示例

inheritance.jpg

如上图所示,Programmer是子类,而Employee是超类。这两个类之间的关系是程序员IS-A雇员。这意味着程序员是雇员的一种。

在上面的示例中,Programmer对象可以访问自己的类以及Employee类的字段,即代码可重用性。

Java中的继承类型

根据类,java中可以有三种继承类型:单继承,多继承和分层继承。

在Java编程中,仅通过接口支持多重继承和混合继承。稍后我们将学习接口。

typesofinheritance.jpg

注意:Java通过类不支持多重继承。

当一个类继承多个类时,称为多重继承。例如:

multiple.jpg

单一继承示例

当一个类继承另一个类时,称为单继承。在下面给出的示例中,Dog类继承了Animal类,因此存在单个继承。

文件:TestInheritance.java

输出:

多级继承示例

如果存在继承链,则称为多级继承。在下面的示例中可以看到,BabyDog类继承了Dog类,而Dog类又继承了Animal类,因此存在多级继承。

文件:TestInheritance2.java

输出:

层次继承示例

当两个或多个类继承单个类时,称为分层继承。在下面给出的示例中,Dog和Cat类继承了Animal类,因此存在分层继承。

文件:TestInheritance3.java

输出:

问)为什么Java不支持多重继承?

为了降低复杂性并简化语言,java不支持多重继承。

考虑一个场景,其中A,B和C是三个类别。C类继承A和B类。如果A类和B类具有相同的方法,并且您从子类对象调用它,则模棱两可地调用A类或B类的方法。

由于编译时错误比运行时错误要好,因此,如果您继承2个类,则Java会呈现编译时错误。因此,无论您使用相同的方法还是使用不同的方法,都会出现编译时错误。

0

相关文章:Java中的JVM的关闭挂钩 关闭挂钩是一种特殊的结构,允许开发人员插入要在JVM关闭时执行的代码。这在需要关闭VM的情况下需要执行特殊清理 […]...

Java中的for-each循环 For-each是Java5中引入的另一种数组遍历技术,例如for循环,while循环,do-while循环。 […]...

在Java中使用_(下划线)作为变量名 Java 9对Java语言的功能进行了更改,而从合法名称中删除下划线是甲骨文Oracle的一项重大更改: 绝不 […]...

了解Java中“ public static void main”中的“ static” 以下几点解释了main()方法中的“static”: main()方法:Java中的main()方 […]...

Java中的按位运算符 按位运算符用于对数字的各个位进行操作。它们可以与任何整数类型(char,short,int等)一起使用。在执行 […]...

修剪Java中的字符串(删除前导和尾随空格) 给定字符串,请从字符串中删除所有前导和尾随空格,然后将其返回。 例子: Input : str = " Hel […]...

Java中的volatile关键字 使用volatile是使类线程安全的另一种方式(如同步的原子包装)。线程安全意味着一个方法或类实例可以被多个线 […]...

Java中的构造函数链接(带示例) 先决条件: Java中的构造函数 构造函数链接是相对于当前对象从另一个构造函数调用一个构造函数的过程。 构造函 […]...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值