Java中的方法重载和方法重写是面向对象编程中的重要概念。下面将详细介绍这两种方法。

方法重载

方法重载指的是在同一个类中,存在多个方法名相同,但参数列表不同的方法。Java通过参数列表来区分重载的方法。

重载规则

  1. 方法名必须相同。
  2. 参数列表必须不同,包括参数的数量、类型或顺序。
  3. 返回类型可以相同,也可以不同。

示例

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }
}

在上面的例子中,add 方法被重载了两次,一次接受两个整型参数,另一次接受两个双精度浮点型参数。

方法重写

方法重写发生在子类中,当子类有一个与父类方法签名相同的方法时,就发生了方法重写。

重写规则

  1. 方法名、参数列表和返回类型必须与父类中的方法完全相同。
  2. 子类方法不能抛出比父类方法更多的异常。
  3. 子类方法的访问权限不能比父类方法更严格。

示例

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

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

在上面的例子中,Dog 类重写了 Animal 类的 makeSound 方法。

扩展阅读

想了解更多关于Java的方法重载与重写?请访问我们的 Java教程

Java 方法重载与重写