如果子类属于相同的层次结构,我们是否可以向下投射超类?scjp:类铸造规则集
例如:这里
class Building { }
public class Barn extends Building {
public static void main(String[] args) {
Building build1 = new Building();
Barn barn1 = new Barn();
//Barn barn2 = (Barn) build1; // line number 10
Object obj1 = (Object) build1;
//String str1 = (String) build1; // line number 12
Building build2 = (Building) barn1;
}
}
回答说只有12行注释将使代码编译。但是,即使第10行被注释了,代码也只能被编译。请帮忙。
为什么会注释行'10'使代码编译失败? –
除了@RohitJain说你在第10行铸造完全没问题。 –
检查http://stackoverflow.com/questions/4862960/explicit-casting-from-super-class-to-subclass – Rohan