子类作为实例参数 赋值到父类入参方法
时间: 2023-11-29 14:05:28 浏览: 82
当子类对象作为实例参数传递给父类入参方法时,会自动进行向上转型,即将子类对象转换为父类对象。这是因为子类是父类的一种特殊情况,子类继承了父类的所有属性和方法,因此子类对象可以被当做父类对象来使用。
例如,假设有一个父类Animal和一个子类Dog,代码如下:
```java
public class Animal {
public void move() {
System.out.println("Animal is moving");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("Dog is running");
}
}
```
现在我们创建一个Dog对象,并将它作为实例参数传递给Animal类的方法:
```java
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
Animal animal = dog;
animal.move();
}
}
```
在上面的代码中,我们将Dog对象赋值给Animal类型的引用变量animal,然后调用animal的move方法。由于Dog是Animal的子类,因此它可以被当做Animal类型来使用。在调用move方法时,会调用Dog类中重写的move方法,输出结果为"Dog is running"。
阅读全文