Java 重写(Override)与重载(Overload)
方法覆盖/重写 (Override)
外壳不变,核心重写!
子类与父类的一种多态性表现!
同名,同参,同返回值,访问权限不缩小!
- 声明为 final 的方法不能被重写。
- 父类的成员方法只能被它的子类重写。
- 被重写的方法不能被缺省修饰符修饰。
- 参数列表与被重写方法的参数列表必须完全相同。
- 访问权限不能比父类中被重写的方法的访问权限更低.
- 声明为 static 的方法不能被重写,但是能够被再次声明。
- 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
- 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
- 重写的的返回值一旦抛出,那么这个异常就不能是新的异常,或者抛出的异常不能是范围更加广泛的异常类。
- 如果父类的返回值类型是基本数据类型,那么子类的返回值类型必须和父类一致。如果父类的返回值类型是引用数据类型,那么子类的返回值类型必须是父类的返回值类型或者父类返回值类型的子类。
重载 (Overload)
一个类的多态性表现
同名,不同参,返回类型、访问权限不要求
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)