public class Test { public static void main(String[] args) { Super s1 = new Super(); Super s2 = new Derived(); Derived d1 = (Derived) s1; //运行出错 Derived d2 = (Derived) s2; //正确,因为s2指向的实际对象就是Derived类型的 } }class Super { }class Derived extends Super { }
类型不对吧对象类型和你定义的用来存放对象的容器类型不一致!
public class Test { public static void main(String[] args) {
Super s1 = new Super();
Super s2 = new Derived();
Derived d1 = (Derived) s1; //运行出错
Derived d2 = (Derived) s2; //正确,因为s2指向的实际对象就是Derived类型的
}
}class Super {
}class Derived extends Super {
}
struts的那个ActionForm就是最好的例子.