在Java中,基类的方法可以被重载。方法重载(Overloading)是指在同一个类中有多个同名方法,但它们的参数列表不同(参数的个数、类型或顺序不同)。方法重载允许你在不改变方法名的情况下,以相同的方法名提供不同的功能。
以下是一个Java示例,演示了如何在基类中重载方法:
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
// 重载makeSound方法
public void makeSound(String sound) {
System.out.println("The animal makes a " + sound + " sound");
}
}
class Dog extends Animal {
// 重载makeSound方法
@Override
public void makeSound() {
System.out.println("The dog barks");
}
@Override
public void makeSound(String sound) {
System.out.println("The dog barks a " + sound + " sound");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
Animal myDog = new Dog();
myAnimal.makeSound(); // 输出: The animal makes a sound
myAnimal.makeSound("loud"); // 输出: The animal makes a loud sound
myDog.makeSound(); // 输出: The dog barks
myDog.makeSound("loud"); // 输出: The dog barks a loud sound
}
}
在这个示例中,Animal
类有两个重载的makeSound
方法。Dog
类继承了Animal
类,并重载了这两个方法。这样,Dog
类就可以根据需要调用相应的方法。