文章目录

  • 问题描述
  • 问题思路
  • 问题答案


问题描述

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)是在子类中定义一个与父类完全相同的方法来覆盖父类的同名方法。