重载(overloading)和重写@Override

一.重写:@Override
定义:字类方法覆盖父类方法,通俗来说就是方法里面的内容可以不一样,其他都一样。
(1)必须保证权限大于等于父类的权限public>protetcted>默认>private
(2)返回值类型,函数名和参数列表都要一模一样
(3)父类private的方法,字类无法继承,不存在重写
声明为final的方法不能被重写
声明为static的方法不能被重写
(4)返回值类型(子类方法的返回值类型<=父类)
二.重载
定义:重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
比较常用的是构造器的重载
(1)被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
(2)被重载的方法可以改变返回值类型
(3)可以改变访问修饰符
(4)方法能够在通过一个类中或者在一个字类中被重载
(5)无法以返回值类型作为重载函数的区分标准

区别点           重载方法                  重写方法
参数列表      必须修改                  一定不能修改
返回类型     可以修改        一定不能修改
异常            可以修改      可以减少或删除,一定不能抛出新的或者更广的异常
访问           可以修改     一定不能做更严格的限制(可以降低限制)

posted @   这都没什么  阅读(313)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示