本帖最后由 J_hom 于 2013-4-14 12:38 编辑
注意的是编译时没有出现错误,但运行结果出现异常。
Exception in thread "main" java.lang.ClassCastException: A cannot be cast to B
因为是通过父类A进行实例化对象的,然后再对象向下转型。
因为单独看父类A是找不到的任何关系的,A a=new A(), B b=(B)a只不过是将a 强制转换成B类型,A,B类根本就没有关系。然而通过子类B他可以找到父类A的,从而确定了它们之间的关系。所以说要确定向下转型
首先是确定向上转型关系。A a=new B(); |