Java 同时向下和向上投射的目的是什么?
我有一只母级动物和一只子级狗Java 同时向下和向上投射的目的是什么?,java,downcast,Java,Downcast,我有一只母级动物和一只子级狗 Dog dog = new Dog(); Animal animal1 = (Dog) dog; Animal animal2 = (Animal) dog; 我刚刚学习了向下投射,我想问同时进行向下投射和向上投射的目的是什么?狗是否继承了动物?我想是的 为了回答这个问题,没有必要这样做。它可以简化为: Dog dog = new Dog(); Animal animal1 = dog; Animal animal2 = dog; 当变量(animal1或ani
Dog dog = new Dog();
Animal animal1 = (Dog) dog;
Animal animal2 = (Animal) dog;
我刚刚学习了向下投射,我想问同时进行向下投射和向上投射的目的是什么?狗是否继承了动物?我想是的 为了回答这个问题,没有必要这样做。它可以简化为:
Dog dog = new Dog();
Animal animal1 = dog;
Animal animal2 = dog;
当变量(
animal1
或animal2
)来自类型Dog
,并且您有一个来自另一类型且Dog
继承自的对象时,您可能需要向下转换(例如Animal
)-但请确保该对象确实是Dog
示例代码在哪里同时进行向下和向上转换?请检查下面的链接代码中的强制转换是不必要的。我不确定您的代码与您的问题有什么关系,但在任何情况下,该代码中的两个显式强制转换都是不必要的。1。这里没有悲观情绪。2.这两个类型转换都没有任何意义。第一个只是维持现状,第二个是多余的。