// 父类
class Animal {
public void makeSound() {
System.out.println("动物发出声音");
}
}
// 子类1
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("狗发出汪汪声");
}
public void makeSound(String barkType) {
System.out.println("狗发出" + barkType + "声");
}
}
// 子类2
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("猫发出喵喵声");
}
public void makeSound(int meowLevel) {
for (int i = 0; i < meowLevel; i++) {
System.out.print("喵");
}
System.out.println();
}
}
// 测试类
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // 创建Dog对象
Animal myCat = new Cat(); // 创建Cat对象
myDog.makeSound(); // 调用Dog的makeSound方法
((Dog) myDog).makeSound("大声"); // 调用Dog的重载makeSound方法
myCat.makeSound(); // 调用Cat的makeSound方法
((Cat) myCat).makeSound(3); // 调用Cat的重载makeSound方法
}
}
Java多态
最新推荐文章于 2024-07-21 22:27:18 发布
本文详细介绍了Java中的类和继承,展示了如何创建Animal的子类Dog和Cat,并演示了方法重载在Dog和Cat类中的应用。测试类展示了如何实例化和调用不同子类的方法实现多态。
摘要由CSDN通过智能技术生成