JAVA4. 试描述子类的上转型对象,请举例说明?
时间: 2024-03-14 08:43:27 浏览: 67
子类的上转型对象是指将子类对象赋值给父类类型的变量或参数,从而将子类对象转换成父类对象的过程。上转型对象可以实现多态性,即一个变量或参数可以引用多种类型的对象,提高了代码的灵活性和复用性。
举个例子,假设有一个父类 `Animal` 和两个子类 `Dog` 和 `Cat`,它们分别继承自父类 `Animal`。我们可以定义一个父类类型的变量 `animal`,然后将子类对象赋值给该变量,从而将子类对象上转型为父类对象,实现多态性。具体代码如下:
```java
Animal animal = new Dog(); // 将 Dog 对象上转型为 Animal 对象
animal.eat(); // 调用 Dog 类中的 eat() 方法
animal = new Cat(); // 将 Cat 对象上转型为 Animal 对象
animal.eat(); // 调用 Cat 类中的 eat() 方法
```
在这个例子中,我们定义了一个父类类型的变量 `animal`,然后将 `Dog` 对象和 `Cat` 对象分别赋值给该变量,从而将它们上转型为 `Animal` 对象。在调用 `eat()` 方法时,由于我们已经将子类对象上转型为父类对象,因此实际调用的是子类中重写的 `eat()` 方法,而不是父类中的 `eat()` 方法。这就是多态性的一个体现。
总之,子类的上转型对象可以实现多态性,提高了代码的灵活性和复用性。需要根据具体的需求来选择使用上转型对象。
阅读全文