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

一、理解Override和Overload

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

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

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

重载和覆盖的区别

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

覆盖时需要注意的几个点

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

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

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

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

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

延伸阅读

overdrive是什么

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

关于项目协作工具:

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

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

关于研发管理工具:

智能化研发管理工具PingCode

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