Why use up transformation instead of directly creating subclass objects?

Example 1

public class Animal {
    public void sleep() {
        System.out.println("小动物在睡觉");
    }

    public static void doSleep(Animal animal) {
        // 此时的参数是父类对象,但是实际调用时传递的是子类对象,就是向上转型。
        animal.sleep();
    }

    public static void main(String[] args) {
        animal.doSleep(new Cat());
        animal.doSleep(new Dog());
    }
}
public class Cat extends Animal {
    @Override
    public void sleep() {
        System.out.println("猫正在睡觉");
    }
}
public class Dog extends Animal {
    @Override
    public void sleep() {
        System.out.println("狗正在睡觉");
    }
}

The cat is sleeping and the dog is sleeping

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>