Java复习笔记3--强制类型转换

强制类型转换

  • 基本数据类型

  • 引用数据类型

 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强制。那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的。

Father father = new Son();

      在这里Son 对象实例被向上转型为father了,但是请注意这个Son对象实例在内存中的本质还是Son类型的,只不过它的能力临时被消弱了而已,如果我们想变强怎么办?将其对象类型还原!

      Son son = (Son)father;

当引用类型的真实身份是父类本身的类型时,强制类型转换就会产生错误。

Father father = new  Father();

      Son son = (Son) father;

   这个系统会抛出ClassCastException异常信息。

 

 

posted @ 2016-09-06 21:13  zhouQing  阅读(165)  评论(0编辑  收藏  举报