{site_name}

{site_name}

🌜 搜索

Java 中的重写(Override)和重载(Overload)都是方法的概念,但它们在实现方式和使用场景上有所不同

编程 𝄐 0
java 重写和重载,java重写和重载的区别总结,java compareto重写,java重写什么意思,java中正确重写equals方法,java重载和重写区别
Java 中的重写(Override)和重载(Overload)都是方法的概念,但它们在实现方式和使用场景上有所不同。

重写(Override)指的是在子类中重新实现一个父类已有的方法,重写需要保证方法名、参数列表以及返回值类型与父类中被覆盖的方法完全相同。重写常用于扩展或修改父类的行为。

下面是一个简单的重写示例:

java
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound.");
}
}

class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow");
}
}


在上述示例中,Cat 继承自 Animal 并且重写了 makeSound 方法。当我们调用 makeSound 方法时,如果是 Cat 的实例,则会输出 "Meow",否则输出 "The animal makes a sound."。

重载(Overload)指的是在同一个类中定义多个具有相同名称但参数列表不同的方法。即使它们的名称相同,但是由于参数列表的不同,Java 将这些方法视为不同的方法。重载常用于提供更强大灵活的 API。

下面是一个简单的重载示例:

java
class Calculator {
public int add(int x, int y) {
return x + y;
}

public double add(double x, double y) {
return x + y;
}

public int add(int x, int y, int z) {
return x + y + z;
}
}


在上述示例中,Calculator 类定义了三个名为 add 的方法,但它们的参数类型和数量不同。这使得我们可以通过不同的方式调用 add 方法,以适应不同的场景。例如:

java
Calculator calculator = new Calculator();
int sum1 = calculator.add(2, 3);
double sum2 = calculator.add(2.5, 3.5);
int sum3 = calculator.add(2, 3, 4);


以上代码分别调用了 add 方法的三种重载方式,返回值分别为 5、6.0 和 9。