个人主页:【个人主页】
系列专栏:【❤️初识JAVA】
关于JAVA,我们也已经学习过一段时间了,今天我们来学习一下在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;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
在这个示例中,我们定义了三个名为add的方法,它们的参数列表不同。当需要调用add方法时,Java编译器会根据传入的参数类型和数量选择正确的方法进行调用。例如,add(1,2)会调用第一个add方法,add(1.0,2.0)会调用第二个add方法。
在 Java 中,方法重写是指子类覆盖了父类中具有相同名称、参数列表和返回类型的方法。重写方法的目的是为了改变方法的实现,让子类的方法能够满足自己的需求,并且能够替换父类中的同名方法。
class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal(); // Animal 对象
Animal b = new Dog(); // Dog 对象
a.move(); // 执行 Animal 类的方法
b.move(); // 执行 Dog 类的方法
}
}
在上面的例子中,Animal 类有一个 move() 方法。在 Dog 类中,我们重写了这个方法,并且定义了新的实现方式。在 main() 方法中,我们创建了一个 Animal 类型的对象和一个 Dog 类型的对象。通过调用它们的 move() 方法,我们可以看到,当调用 Animal 类型的对象时,执行的是 Animal 类中的方法,而当调用 Dog 类型的对象时,执行的是 Dog 类中的方法。这就是方法重写的作用。
方法重载指在同一个类中定义多个同名方法,但它们的参数列表不同(参数类型、参数个数、参数顺序不同)。Java 编译器会根据不同的参数列表来区分和调用不同的方法。在方法重载中,方法名相同,但参数列表不同,返回类型可以相同也可以不同。
方法重载是在同一个类中出现,方法名相同,但参数列表不同,方法重写是在父类和子类之间出现,方法名、参数列表和返回值类型必须相同。