方法重载是允许一个类中定义多个方法名相同但参数列表不同的方法。可以提高代码的可读性和简洁性,实现多态性,简化代码维护等。
创建一个名为Dog的类,具有重载的bark()方法,根据不同否基本数据类型进行重载,并根据被调用的版本,打印出不同类型的狗吠(barking)、咆哮(howling)等信息。编写main()来调用所有不同版本的方法。
public class Dog {
public void bark(){
System.out.println("The dog is barking.");
}
public void bark(int times){
System.out.println("The dog is barking " + times + " times.");
}
public void bark(boolean isAngry) {
if (isAngry) {
System.out.println("The dog is howling angrily.");
} else {
System.out.println("The dog is barking calmly.");
}
}
public void bark(double volume) {
System.out.println("The dog is barking at volume level: " + volume);
}
// 处理字符类型的bark()方法
public void bark(char soundType) {
if (soundType == 'w') {
System.out.println("The dog is whining.");
} else if (soundType == 'r') {
System.out.println("The dog is growling.");
} else {
System.out.println("The dog is making an unknown sound.");
}
}
public static void main(String[] args) {
Dog myDog = new Dog();
// 调用不同版本的bark()方法
myDog.bark(); // 无参数
myDog.bark(3); // 整数类型
myDog.bark(true); // 布尔类型
myDog.bark(7.5); // 浮点类型
myDog.bark('w'); // 字符类型
}
}