31面向对象(中级)-方法重写/覆盖(override)

1.基本介绍

简单的说:方法覆盖(重写)就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。

子类(下级)把父类(上级)已有的方法,重新写一遍实现,让它更适合子类自己。

2.方法重写必须满足什么条件?

三同一大一小(口诀):

(1)方法名相同

(2)参数列表相同(个数、类型、顺序都一样)

(3)返回值类型相同

特殊:或者子类的返回类型是父类的返回类型的子类。

(4)子类方法的权限 >= 父类权限

父 public → 子只能 public 父 protected → 子可以 protected /public

public > protected > 默认 > private

(5)子类抛出的异常不能比父类更大(了解即可)

3. 方法重写 vs 方法重载

  • 重写(Override) :继承关系,子类改父类方法 → 同名同参
  • 重载(Overload) :同一个类里,多个同名方法 → 同名不同参
相关推荐
用户3126874877202 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang2 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing2 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
吃饱了得干活3 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
lhldsg4 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售
Interview Aid1125 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
mldong5 小时前
换了工作流引擎,前端一行代码没改
java·架构
微尘寒风12 小时前
【Git】的安装和使用
java·git
y = xⁿ13 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
侧耳倾听11113 小时前
jwt使用简介
java·jwt