温馨提示×

java中overload与override有什么区别

小亿
95
2023-08-09 20:01:05
栏目: 编程语言

Java中的overload(重载)和override(重写)是两个不同的概念。

重载(overload)指的是在同一个类中,可以定义多个方法名相同但参数列表不同的方法。重载的方法具有相同的方法名,但参数列表不同,可以有不同的返回类型。重载方法可以根据不同的参数列表来执行不同的操作。

例如:

public class MyClass {
public void print(int num) {
System.out.println("Print int: " + num);
}
public void print(String str) {
System.out.println("Print String: " + str);
}
}

在上面的例子中,MyClass类中有两个名为print的方法,一个接受int类型的参数,另一个接受String类型的参数。这就是方法的重载。

重写(override)指的是在子类中重新定义父类中已经定义的方法。重写的方法具有相同的方法名、参数列表和返回类型。子类中的重写方法可以覆盖父类中的方法,使其具有不同的实现。

例如:

public class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("Cat meows");
}
}

在上面的例子中,Animal类中有一个名为sound的方法,Cat类继承自Animal类,并重写了sound方法。Cat类中的sound方法覆盖了父类Animal中的sound方法,使得Cat类的对象调用sound方法时输出不同的结果。这就是方法的重写。

总结:

  • 重载(overload)是在同一个类中定义多个方法名相同但参数列表不同的方法。

  • 重写(override)是子类中重新定义父类中已经定义的方法。

0