// 定义一个父类 Animal
class Animal {
// 定义一个方法 sound,子类可以重写该方法
public void sound() {
System.out.println("This is a generic animal sound.");
}
}
// 定义一个子类 Dog,继承自 Animal
class Dog extends Animal {
// 重写父类的 sound 方法
@Override
public void sound() {
System.out.println("Dog barks: Woof woof!");
}
}
// 定义一个子类 Cat,继承自 Animal
class Cat extends Animal {
// 重写父类的 sound 方法
@Override
public void sound() {
System.out.println("Cat meows: Meow meow!");
}
}
// 测试多态的主类
public class PolymorphismExample {
public static void main(String[] args) {
// 创建 Animal 类型的引用,实际指向不同的子类对象
Animal myDog = new Dog();
Animal myCat = new Cat();
// 调用子类重写后的方法
myDog.sound(); // 输出: Dog barks: Woof woof!
myCat.sound(); // 输出: Cat meows: Meow meow!
}
}
Animal
:定义了一个通用的方法 sound()
,所有动物都可以发出声音,但具体的实现由子类决定。Dog
和 Cat
:分别继承了 Animal
类,并重写了 sound()
方法,提供了各自特有的实现。PolymorphismExample
类中,使用 Animal
类型的引用指向不同的子类对象(Dog
和 Cat
),并通过调用 sound()
方法展示了多态性。即同一个方法调用在不同的对象上表现出不同的行为。上一篇:java全局变量定义
下一篇:java异步调用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站