设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 958|回复: 0
收起左侧

Java 强制类型转换

[复制链接]
发表于 2014-1-17 11:59:51 | 显示全部楼层 |阅读模式
 -------------疯狂软件java培训分享-------------
  将一个类型强制转换成另一个类型的过程被称为类型转换.例如:
  double x =3.14;
  int y = (int)x;
  将表达式x的值转换成整数类型,舍弃小数部分.
  有时候也可能是类的对象引用的转换.
  譬如:
  Manger boss = (Manger)staff[0];
  我们知道如果将一个子类的引用赋给一个超类变量,是可以的. 但是反过来,必须进行类型
  转换.
  但是转换的时候,可能出现"谎报"ClassCastException异常.,如果没有捕获该异常,程序就会停止.
  因此, 我们应该养成一个良好的编程习惯,在进行类型转换之前,先看一下是否能成功转换.
  这个过程简单地使用instanceof运算符就可以实现.例如:
  if(staff[0] instanceof Manger){
  boss = (Manger)staff[0];
  ...
  }
  这样,如果转换不成功,编译器就不会进行这个转换.
  综述:
  只能在继承层次内进行类型转换在将超类转换成子类之前,应该使用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应用+手游就业班就业班学费,赠送基础班全套课程。

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-4-26 18:48 , Processed in 0.050752 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表