黑马程序员技术交流社区

标题: 强制类型转换测试符“instanceof”的使用 [打印本页]

作者: Wokno    时间: 2014-6-6 18:09
标题: 强制类型转换测试符“instanceof”的使用
本帖最后由 Wokno 于 2014-6-6 18:10 编辑

强制类型转换:
            进行类型转换的唯一原因是:在暂时忽视对象的实际类型之后,使用对象的全部功能。


  1.     if (staff[1] instanceof Manager) {  
  2.         boss = (Manager) staff[1];  
  3.         ....  
  4.     }  
复制代码



总结:
            1、只能在继承层次内进行类型转换。
            2、在将超类转换为子类之前,应该使用“instanceof”进行检查。
            3、如果鉴于某种原因,发现需要通过超类对象调用其子类方法,那么就应该检查下超类的设计是否合理。重新设计一下超类,并添加其方法才是正确的选择。只要没有捕获ClassCastException异常,程序就会终止执行。在一般情况下,应该尽量少用类型转换和instanceof运算符。




作者: 许庭洲    时间: 2014-6-9 20:56
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2