java实现多态(附完整源码)
时间: 2023-08-04 15:36:55 浏览: 100
Java是一种面向对象编程语言,支持多态特性。多态可以让我们写出更加灵活、可扩展的代码。以下是一个简单的实现:
```
public class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating");
}
}
public class Test {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.eat(); // 输出 Dog is eating
animal2.eat(); // 输出 Cat is eating
}
}
```
这个程序定义了一个Animal类和两个子类Dog和Cat,它们都重写了父类的eat()方法。在Test类中,我们创建了一个Animal类型的变量animal1和一个Cat类型的变量animal2。由于多态的特性,我们可以将子类的实例赋给父类的变量。当我们调用eat()方法时,会自动调用子类中重写的eat()方法。这就是多态的体现。
需要注意的是,在多态中,变量的类型决定了可以调用哪些方法,而实际执行的方法是对象的类型决定的。这就是说,animal1和animal2的类型是Animal,但实际执行的是Dog和Cat中重写的eat()方法。
阅读全文