在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
類就可以根據需要調用相應的方法。