有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中继承类型转换子类变量到超类

我在读关于在Java中将超类变量类型转换为子类,反之亦然。请告诉我哪些是有效的

Cat c = new Cat();
Animal a = c;

Animal a = new Animal();
Cat c = (Cat) a;

Animal a = new Cat();
Cat c = (Cat) a;

Cat c = new Cat();
Dog d = (Dog) c;

动物是超级类,有猫和狗的子类


共 (2) 个答案

  1. # 1 楼答案

    第三个可以,因为a是一个cat,其他的都是危险的废话,不管编译器是否允许它们

  2. # 2 楼答案

    Cat c = new Cat();
    Animal a = c;
    
    Animal a = new Cat();
    Cat c = (Cat) a;