继承,方法重写

本文深入探讨了继承和方法重写的基本概念及其在代码优化中的应用。通过实例讲解了如何利用继承减少代码冗余,以及子类如何通过方法重写实现特定功能。同时,详细解释了super关键字的作用及子类访问父类成员的具体规则。

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

继承

为什么使用继承

在这里插入图片描述
因为在很多情况下有许多类有共同的属性和方法,我们可以把这些共同的合并到一个父类中。
为了减少代码冗余和方便扩充。

使用继承优化后

在这里插入图片描述

如何使用继承

在这里插入图片描述
继承是代码重用的一种方式:将子类共有的属性和行为放到父类中。

Super关键字来访问父类的成员

1. Super只能出现在子类的方法和构造方法中
2. super 调用构造方法时,只能是第一句
3. super不能访问private的成员

子类访问父类成员

访问父类构造方法:

            	Super();
              Super(name);

访问父类属性:

             Super.name;

访问父类的方法:

  Super.print();

注:
super表示关键字,super代表父类对象。
在子类构造方法中,super 调用父类构造方法时,只能是第一句。

子类不能继承父类的:

  1. Private成员
  2. 子类与父类不在同包时,使用默认访问权限的成员
  3. 构造方法。(不能被继承也不能被重写只能被加载)

访问修饰符(protected):
可以修饰属性和方法
本类、同类、子类可以访问
访问修饰符的总结:
在这里插入图片描述
多重继承关系的初始化顺序:
自上而下的继承:先父类的父类->再到父类->子类
在这里插入图片描述
在子类中:父类的无参构造可以不写,会默认加载;带参构造要写。

方法重写

在这里插入图片描述
实例:
先是主类Pet定义了共同拥有属性和方法
在这里插入图片描述
狗狗类使用方法重写:
在这里插入图片描述
Test测试类:在创建对象是赋值了小黑和拉布拉多;但是在后面又传入了中华田园覆盖了拉布拉多。
在这里插入图片描述
结果为:方法重写实现了。
在这里插入图片描述

方法重写的规则

  1. 方法名相同
  2. 参数列表相同
  3. 返回值类型相同或者是其子类
  4. 访问权限不能严于父类
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值