同时向下转型和向上转型的目的是什么?
What is the purpose of downcasting and upcasting at the same time?
我有一只 parent class 动物和一只 child class 狗延伸动物。
Dog dog = new Dog();
Animal animal1 = (Dog) dog;
Animal animal2 = (Animal) dog;
刚学向下转型,请问同时进行向下转型和向上转型的目的是什么?
Dog
是否继承自 Animal
?我会假设是的。
回答这个问题 - 这样做没有意义。可以简化如:
Dog dog = new Dog();
Animal animal1 = dog;
Animal animal2 = dog;
当变量(animal1
或 animal2
)来自类型 Dog
并且您有一个对象来自 Dog
继承自的另一种类型时,您可能想要向下转型(例如 Animal
)- 但要确保该对象确实是 Dog
.
我有一只 parent class 动物和一只 child class 狗延伸动物。
Dog dog = new Dog();
Animal animal1 = (Dog) dog;
Animal animal2 = (Animal) dog;
刚学向下转型,请问同时进行向下转型和向上转型的目的是什么?
Dog
是否继承自 Animal
?我会假设是的。
回答这个问题 - 这样做没有意义。可以简化如:
Dog dog = new Dog();
Animal animal1 = dog;
Animal animal2 = dog;
当变量(animal1
或 animal2
)来自类型 Dog
并且您有一个对象来自 Dog
继承自的另一种类型时,您可能想要向下转型(例如 Animal
)- 但要确保该对象确实是 Dog
.