// 定义一个父类 Animal
class Animal {
// 定义一个方法 sound,子类可以根据需要重写这个方法
public void sound() {
System.out.println("This is an animal sound");
}
}
// 定义一个子类 Dog,继承自 Animal
class Dog extends Animal {
// 重写父类的 sound 方法
@Override
public void sound() {
System.out.println("Dog barks");
}
}
// 定义一个子类 Cat,继承自 Animal
class Cat extends Animal {
// 重写父类的 sound 方法
@Override
public void sound() {
System.out.println("Cat meows");
}
}
// 测试多态的主类
public class PolymorphismExample {
public static void main(String[] args) {
// 创建 Animal 类型的引用,实际指向的是 Dog 对象
Animal myDog = new Dog();
// 调用 sound 方法,输出 "Dog barks"
myDog.sound();
// 创建 Animal 类型的引用,实际指向的是 Cat 对象
Animal myCat = new Cat();
// 调用 sound 方法,输出 "Cat meows"
myCat.sound();
}
}
Animal 是一个父类,而 Dog 和 Cat 是它的两个子类。每个子类都重写了父类的 sound() 方法。main 方法中,我们创建了 Animal 类型的引用,但实际指向的是 Dog 或 Cat 对象。当我们调用 sound() 方法时,Java 会根据实际对象的类型来决定调用哪个版本的 sound() 方法,这就是多态的表现。通过这种方式,我们可以编写更加灵活和可扩展的代码。
下一篇:java imageio
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站