// 定义一个父类 Animal
class Animal {
// 父类中的方法
public void makeSound() {
System.out.println("Some generic animal sound");
}
}
// 定义一个子类 Dog,继承自 Animal
class Dog extends Animal {
// 重写父类的方法
@Override
public void makeSound() {
System.out.println("Bark");
}
}
// 定义一个子类 Cat,继承自 Animal
class Cat extends Animal {
// 重写父类的方法
@Override
public void makeSound() {
System.out.println("Meow");
}
}
// 测试多态的主类
public class PolymorphismExample {
public static void main(String[] args) {
// 创建父类类型的引用,指向不同的子类对象
Animal myDog = new Dog();
Animal myCat = new Cat();
// 调用 makeSound 方法,实际调用的是子类中重写的方法
myDog.makeSound(); // 输出: Bark
myCat.makeSound(); // 输出: Meow
}
}
Animal
:定义了一个通用的方法 makeSound()
,表示动物发出声音。Dog
和 Cat
:分别继承了 Animal
类,并重写了 makeSound()
方法,以实现各自特有的行为。PolymorphismExample
类中,我们创建了 Animal
类型的引用,但它们实际上指向的是 Dog
和 Cat
对象。当我们调用 makeSound()
方法时,程序会根据实际对象的类型(即运行时类型)来决定调用哪个版本的方法。这就是多态的核心概念——同一个方法调用可以在不同对象上表现出不同的行为。上一篇:java 判断文件夹是否存在
下一篇:java 随机
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站