方法重写 (Java)

方法重写

​ 子类是父类的延续 + 扩展

​ 延续 : 直接继承下来的

​ 扩展:增强(重写), 新增(新加的)

需要重写的原因:

​ 当存在继承关系的两个类中,如果父类的方法不能满足子类的需求, 按需在子类中重写父类中方法(只有方法才存在重写

​ 重写的注解:@Override

重写的注意点:
  1. 重写方法的修饰符一般和父类相同,但至少范围要大于等于父类,比如父类是protected,子类只能是protected或者public
  2. 重写方法的返回值一般和父类相同,除非,返回值是引用类型时,返回值最多允许修改为父类 返回值类型 的子类
  3. 方法名和形参列表必须相同 xxx(类型 xx,类型 xx) 必须相同
  4. 重写方法的异常类型一般和父类相同,异常类型最多允许修改为父类 异常类型 的子类
重写方法的目的是为了多态

注意: 以下都不能被重写

  1. private 修饰的方法 原因: private是私有方法,子类无法调用, 即使重写了也是子类自己新的特有的方法
  2. static 修饰的方法 原因: 重写是实现多态的前提,即重写是发生在继承中且是针对非static方法的。 即使重写了也是子类自己新的特有的方法 (语法上看起来重写了,但static是类共有的,运行了也没有多态的效果)
  3. final 修饰的方法 原因: 无法重写,编译时就会报错。(final修饰变量等同于常量,修饰方法不可重写,修饰类不可继承)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值