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

1.基本介绍

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

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

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

三同一大一小(口诀):

(1)方法名相同

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

(3)返回值类型相同

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

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

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

public > protected > 默认 > private

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

3. 方法重写 vs 方法重载

  • 重写(Override) :继承关系,子类改父类方法 → 同名同参
  • 重载(Overload) :同一个类里,多个同名方法 → 同名不同参
相关推荐
小羊没烦恼!21 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里21 小时前
java中的继承和多态的区别
java
小羊没烦恼!21 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕21 小时前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时1 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi1 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号1 天前
java函数式编程--入门基础
java·编程·函数式编程