黑马程序员技术交流社区
标题:
强制类型转换测试符“instanceof”的使用
[打印本页]
作者:
Wokno
时间:
2014-6-6 18:09
标题:
强制类型转换测试符“instanceof”的使用
本帖最后由 Wokno 于 2014-6-6 18:10 编辑
强制类型转换:
进行类型转换的唯一原因是:在暂时忽视对象的实际类型之后,使用对象的全部功能。
if (staff[1] instanceof Manager) {
boss = (Manager) staff[1];
....
}
复制代码
总结:
1、只能在继承层次内进行类型转换。
2、在将超类转换为子类之前,应该使用“instanceof”进行检查。
3、如果鉴于某种原因,发现需要通过超类对象调用其子类方法,那么就应该检查下超类的设计是否合理。重新设计一下超类,并添加其方法才是正确的选择。只要没有捕获ClassCastException异常,程序就会终止执行。在一般情况下,应该尽量少用类型转换和instanceof运算符。
作者:
许庭洲
时间:
2014-6-9 20:56
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2