重载(overloading)和重写@Override
一.重写:@Override
定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样。
(1)必须保证权限大于等于父类的权限public>protetcted>默认>private
(2)返回值类型,函数名和参数列表都要一模一样
(3)父类private的方法,字类无法继承,不存在重写
声明为final的方法不能被重写
声明为static的方法不能被重写
(4)返回值类型(子类方法的返回值类型<=父类)
二.重载
定义:重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
比较常用的是构造器的重载
(1)被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
(2)被重载的方法可以改变返回值类型
(3)可以改变访问修饰符
(4)方法能够在通过一个类中或者在一个字类中被重载
(5)无法以返回值类型作为重载函数的区分标准
区别点 重载方法 重写方法
参数列表 必须修改 一定不能修改
返回类型 可以修改 一定不能修改
异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常
访问 可以修改 一定不能做更严格的限制(可以降低限制)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构