java重写Override 重载Overload
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15377500.html
java重写Override 重载Overload
重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写
重写规则:
参数列表与被重写方法的参数列表必须完全相同
返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类
访问权限不能比父类中被重写的方法的访问权限更低 访问权限:public > protected > private
父类的成员方法只能被它的子类重写
声明为final的方法不能被重写
声明为static的方法不能被重写,但是能够被再次声明
子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法
子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected 的非final方法
重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以
构造方法不能被重写
如果不能继承—个类,则不能重写该类的方法
super关键字
子类中调用父类的被重写方法需要使用
Overload
重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同
每个重载的方法(或者构造函数)都必须有一个独—无二的参数类型列表
重载规则:
被重载的方法必须改变参数列表(参数个数或类型不—样)
被重载的方法可以改变返回类型
被重载的方法可以改变访问修饰符
被重载的方法可以声明新的或更广的检查异常;方法能够在同—个类中或者在一个子类中被重载。无法以返回值类型作为重载函数的区分标准
重写是父类与子类的多态体现,重载是多态的体现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」