3、利用多态实现编程。(使用方法重写和上转型对象,这个上转型对象就可以调用子类重写的方法。)
时间: 2023-05-30 19:01:15 浏览: 120
例子:
```java
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
public void makeSound() {
System.out.println("The dog barks");
}
}
class Cat extends Animal {
public void makeSound() {
System.out.println("The cat meows");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // Output: The dog barks
animal2.makeSound(); // Output: The cat meows
}
}
```
在这个例子中,Animal类是一个父类,而Dog和Cat类是它的子类。在main方法中,我们创建了一个Dog对象和一个Cat对象,并将它们分别赋值给了Animal类型的变量animal1和animal2。
这就是上转型对象,因为我们将子类对象赋值给了父类类型的变量。然后,我们调用这些变量的makeSound方法,这个方法在父类中被定义,但是在子类中被重写了。
由于animal1变量引用的是Dog对象,因此当我们调用animal1的makeSound方法时,它会调用Dog类中重写的makeSound方法,并输出"The dog barks"。同样的,当我们调用animal2的makeSound方法时,它会调用Cat类中重写的makeSound方法,并输出"The cat meows"。
这就是多态的工作原理,我们可以使用父类类型的变量来引用子类对象,并调用子类中重写的方法。这种方式使得我们能够编写更灵活、可扩展的代码,因为我们可以在不修改原有代码的情况下,添加新的子类来扩展程序的功能。
阅读全文