在java中将类子类转换为超类

时间:2013-10-14 15:28:11

标签: java inheritance casting

我正在阅读关于在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;

Animal是Cat和Dog子类的超类。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

第三个是好的,因为acat,其他是危险的无意义,无论编译器是否允许它们。