马乐蜂 发表于 2014-1-17 11:59:51

Java 强制类型转换

 -------------疯狂软件java培训分享-------------  将一个类型强制转换成另一个类型的过程被称为类型转换.例如:  double x =3.14;  int y = (int)x;  将表达式x的值转换成整数类型,舍弃小数部分.  有时候也可能是类的对象引用的转换.  譬如:  Manger boss = (Manger)staff;  我们知道如果将一个子类的引用赋给一个超类变量,是可以的. 但是反过来,必须进行类型  转换.  但是转换的时候,可能出现"谎报"的ClassCastException异常.,如果没有捕获该异常,程序就会停止.  因此, 我们应该养成一个良好的编程习惯,在进行类型转换之前,先看一下是否能成功转换.  这个过程简单地使用instanceof运算符就可以实现.例如:  if(staff instanceof Manger){  boss = (Manger)staff;  ...  }  这样,如果转换不成功,编译器就不会进行这个转换.  综述:  只能在继承层次内进行类型转换在将超类转换成子类之前,应该使用instanceof进行检查.  注: x instanceof c 如果x 为null, x instanceof c 不会产出异常,只是返回false,因  为null没有引用任何对象. 一般情况下,应该尽量少用类型转换和instanceof运算符.  疯狂软件java培训、ios培训新年钜惠,报名Java就业班免费赠送java基础班,报名iOS就业班免费赠送iOS基础班,本月火速抢座中,为回报广大新老学员,值此新年之际推出报读就业班赠送基础班的活动。(疯狂软件学院咨询QQ:544627560电话:020-28309378 QQ:707552864详情请咨询疯狂java官网fkjava)  ---------------------------2014年初活动--------------------------  疯狂软件Java学习班方向:  1.报读JavaEE就业班赠送基础班课程。  2.开班一次性(一个月内)交清JavaEE就业班学费,赠送基础班全套课程。  疯狂软件iOS学习班方向:  1.报读iOS应用+手游就业班赠送iOS基础班课程。  2.开班一次性(一个月内)交清iOS应用+手游就业班就业班学费,赠送基础班全套课程。
页: [1]
查看完整版本: Java 强制类型转换