override和overload的区别
时间: 2023-04-28 13:05:41 浏览: 61
override 和 overload 是面向对象编程中的两个术语。
override 指的是子类重写父类的方法,在子类中实现父类的方法,而在父类中该方法的定义被忽略。
overload 指的是在同一类中多个函数名相同但是参数不同的情况。
简单来说就是 override 是重写,overload是重载。
相关问题
override 和 overload 区别
重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重载发生在一个类中,方法名相同,但各自的参数不同,称为重载。重写发生在子类与父类之间,要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* [Java 重写(Override)与重载(Overload)](https://blog.csdn.net/weixin_30847271/article/details/101852544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* [【软件构造】override和overload区别](https://blog.csdn.net/weixin_52966993/article/details/124827752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *3* [重载(Overload)与重写(Override)的区别](https://blog.csdn.net/weixin_52754604/article/details/122968798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
override和overload
Override和Overload是Java中的两个概念,它们都与方法相关。
Override(重写)是指在子类中重新定义父类的方法,以便修改或扩展其行为。重写发生在继承关系中,子类必须具有与父类相同的方法名、参数列表和返回类型。使用@Override注解可以让编译器帮助检查是否进行了正确的重写。
Overload(重载)是指在同一个类中,方法名相同但参数列表不同的多个方法。重载与返回值和修饰词无关,主要根据方法的参数个数、类型或顺序来区分。重载可以发生在同一个类中,与继承无关。
总结来说,Override是子类对父类方法的重新定义,而Overload是在同一个类中对方法进行多个版本的定义,以便处理不同的参数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [方法的覆盖(override)与 方法的重载(overload)](https://blog.csdn.net/weixin_42131843/article/details/105001234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [重载(Overload)与重写(Override)的区别](https://blog.csdn.net/weixin_52754604/article/details/122968798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Java overload和override的区别分析](https://download.csdn.net/download/weixin_38647822/12817182)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]