理解Ov和Overload_数量或类型_覆盖的方法返回值必须与被覆盖的方法返回值一致

一、理解Override和Overload

Override和Overload是编程中常用的概念,它们的区别是什么呢?

Overload的意思是“重载”,它允许你在一个类里有多个同名方法,但参数(数量或类型)要各不相同。

而Override则是“覆盖”的意思,指在子类中定义一个与父类同名、参数列表相同的方法,当调用这个方法时,实际上执行的是子类中的代码,这就像在父类的基础上做了升级改造。

重载和覆盖的区别

属性 Overload(重载) Override(覆盖)
方法签名 可以相同,参数不同 必须相同
多态 无 体现
方法体 可以完全不同 可以相同或有所不同
异常处理 无特定要求 子类异常不能比父类多
访问权限 无限制 访问权限不能降低

覆盖时需要注意的几个点

  1. 覆盖的方法标志必须与被覆盖的方法完全匹配。

  2. 覆盖的方法返回值必须与被覆盖的方法返回值一致。

  3. 覆盖的方法所抛出的异常必须与被覆盖方法的所抛出的异常一致,或者是其子类。

  4. 被覆盖的方法不能为private,否则子类中只是新增了方法,而不是覆盖。

理解Override和Overload的区别,对我们在编程实践中提高代码质量和可维护性具有重要意义。

延伸阅读

overdrive是什么

OverDrive是AMD官方推出的一款系统检测、超频工具,专为Spider平台打造。

关于项目协作工具:

50万+团队都在用的项目协作工具

一个工具满足团队所需:任务、项目、文档、IM、目标、日历、甘特图、工时、审批以及更多,让工作更简单。

关于研发管理工具:

智能化研发管理工具PingCode

是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能。