多态实现是例子
时间: 2023-08-05 14:19:47 浏览: 47
下面是一个简单的例子,用来说明Java中多态的实现:
```java
// 定义一个Animal类
class Animal {
public void makeSound() {
System.out.println("Animal is making sound");
}
}
// 定义一个Dog类,继承自Animal类
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking");
}
}
// 定义一个Cat类,继承自Animal类
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat is meowing");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Animal animal1 = new Dog(); // 向上转型,将子类对象赋给父类类型的变量
Animal animal2 = new Cat();
animal1.makeSound(); // 调用子类重写的方法
animal2.makeSound();
// 运行结果:
// Dog is barking
// Cat is meowing
}
}
```
在上面的例子中,Animal类是父类,Dog和Cat类都是Animal的子类。在测试类中,分别用Dog和Cat类的对象初始化Animal类型的变量,实现了向上转型。然后调用父类的方法makeSound(),实际上会根据引用变量的实际类型动态绑定到子类重写的方法。因此,最终输出的结果是Dog is barking和Cat is meowing,这就是Java中多态的实现。