文章目录
- 问题描述
- 问题思路
- 问题答案
问题描述
Overload(重载)和Override(重写)的区别是什么?
下滑查看问题答案
问题思路
在面向对象编程中,“重载(Overload)”和“重写(Override)”是两个非常重要的概念,但它们在用法和目的上有很大的区别。
下滑查看问题答案
问题答案
重载(Overload): 重载发生在同一个类中,方法名相同但参数列表不同(包括参数数量、类型或顺序),返回类型可以相同也可以不同。重载的方法通常实现的是相近的功能,但接受不同的参数。 例如:
java
class Demo {
void show(int i) {
// method logic
}
void show(String s) {
// method logic
}
}
重写(Override):
重写发生在父类和子类之间,子类有一个与父类完全相同的方法(包括方法名、参数列表和返回类型)。重写方法通常实现的是子类特有的功能,覆盖了父类的同名方法。
例如:
java
class Parent {
void show() {
// method logic in Parent
}
}
class Child extends Parent {
@Override
void show() {
// method logic in Child, overrides show() in Parent
} }
总结一下,重载(Overload)是在同一个类中定义多个同名方法,它们之间通过参数列表的不同来区分;而重写(Override)是在子类中定义一个与父类完全相同的方法来覆盖父类的同名方法。