你作为一个Java领域的专家,请完成以下任务:说说重载和重写
时间: 2023-06-25 11:08:07 浏览: 53
重载和重写是Java中的两个重要概念。
重载(Overload)指在同一个类中定义多个同名的方法,但是这些方法的参数列表不同(包括参数类型、参数个数或参数顺序),以实现对不同输入的处理。重载方法必须具有不同的参数列表,否则编译器会报错。
例如:
```java
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
```
在这个例子中,Calculator类定义了两个名为add的方法,一个是接收两个int类型参数的方法,另一个是接收两个double类型参数的方法。这两个方法的方法名相同,但是参数列表不同,因此它们是不同的方法。
重写(Override)指在子类中定义与父类中同名、参数列表相同、返回值类型也相同的方法,以覆盖(替换)父类中的方法。重写方法必须与被重写的方法具有相同的方法名、参数列表和返回值类型,否则编译器会报错。
例如:
```java
public class Animal {
public void move() {
System.out.println("动物在移动");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("狗在奔跑");
}
}
```
在这个例子中,Animal类定义了一个名为move的方法,而Dog类继承自Animal类,并重写了其move方法。重写后的move方法与父类的move方法方法名、参数列表和返回值类型都相同,因此它会覆盖(替换)父类中的move方法。
总结来说,重载是指在同一类中定义多个同名方法,但是参数列表不同,以实现对不同输入的处理;而重写是指在子类中重新定义与父类中同名、参数列表相同、返回值类型也相同的方法,以覆盖(替换)父类中的方法。