Java-继承与覆盖

本文介绍了Java中的继承概念,强调了'is-a'关系,并通过案例展示了如何使用`extends`关键字实现继承。接着讨论了方法的覆盖(override),要求方法名、返回值类型和参数列表必须相同,并解释了覆盖的原因。还区分了覆盖与重载(overload)的区别,重载要求方法名相同但形参列表不同。文章最后提到了Java的单继承和多级继承特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习了Java面向对象的特点后,掌握了一些有关继承的知识点。

继承的定义

两个对象之间是一方包容另一方的关系,两者是"is - a"的关系,例如下图中
动物对象,狗属于动物的一种,猫也属于动物的一种,狗和猫都可以称为动物,它们与动物之间的关系就属于is-a关系,称为继承。Dog is Animal; Cat is Animal。狗继承动物类,猫继承动物类。

在这个继承关系中,狗和猫甚至一些鱼,蛇等种种动物,它们中共同拥有的一些特点,java中将这些特点提取出来形成了它们的父类。 Animal类(动物)。
而它们都称为Animal类的子类。

.案例

继承中的关键字是extends。
在这里插入图片描述
如图中,此时Dog类与Animal类形成了继承关系,Cat类同样。
在它们的父类Animal中有两个属性,姓名与年龄。
当它们继承父类后,也拥有了父类中的属性和方法。
控制台为继承后属性输出结果。

继承方法,此时我们需要了解,父类中拥有的方法,不同的子类继承到之后,表现方式也不同,例如动物都会睡觉,狗每天8个小时,猫5个小时。(这是举例,具体时间不清楚)。这时候就需要用到方法的覆盖。

方法的覆盖

*覆盖(override)(也称为方法重写)
子类中继承父类的方法,在子类中定义一个和父类中方法名一样的方法
对于覆盖的一些要求:
1.方法名,返回值类型,形参列表都要和父类中的相同
2.修饰符相同或者更宽

override与overload

之前学到方法的重载(overload)
*重载是在同一个类中定义多个相同方法名的方法。
它的要求是:
1.方法名相同
2.形参列表不同(数量,类型,顺序)
3.对方法的返回值修饰符异常等没有要求
两者的要求注意事项要多注意,不可混淆。
方法覆盖通常是父类的方法与子类的要求不同,无法满足需求。此时进行覆盖。
方法的覆盖继承是一种机制,一个类只能直接继承一个父类(单继承),但是可以继续有间接父类(多级继承)
简单的例子~
一个人只能有一个父亲,但是他可以有多个孩子。同时他有爷爷,也就是父亲的父亲。(继承)
希望我写的一些东西可以对大家有所帮助,谢谢大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值