Java学习之:子类方法的重写

覆盖重写的注意事项

1. 父子类之间的方法名称要相同,参数列表也要相同

在这里插入图片描述

  • 名称不同或参数列表不同都不是重写操作,性质会变成 “继承” 而非重写;

在这里插入图片描述

  • 为了有保障地完成重写操作,可以使用 @override 操作来帮忙验证所指定的 方法是否真的进行了重写。
    在这里插入图片描述
  • 对于指定要重写的方法,如果没有进行重写,那么 @override 就会报错;这是一个可选的安全检测手段

2. 子类方法的返回值范围一定要 <= 父类方法的返回值范围

  • 父类的返回值类型范围大于子类返回值类型范围,没问题
    在这里插入图片描述
  • 父类的返回值类型范围小于子类返回值类型范围,有问题
    在这里插入图片描述
  • 父类返回值范围和子类返回值范围相同没问题。

3. 子类方法的权限,必须 >= 父类方法的权限

  • 权限介绍:public > protected > (default) > private
    • 其中,default 不是关键字,而是什么都不写,如下图
      在这里插入图片描述
  • 下图是错误示范:
    在这里插入图片描述

4. 写在后面

但是不用担心,绝大多数情况,我们在重写子类方法的时候,子类和父类的返回值范围都是一样的,子类和父类的权限也都是一样的。

覆盖重写的实例演示

  • 对于重写的成员方法,如果想要使用其父类中已经存在的代码段,可以使用 super 关键字来获得。比如下图中,在重写 show 方法的时候,通过 super.show 就可以得到 父类中已经写好的 show 方法,然后在此基础上可以进行再修改。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值