现在的位置: 首页 > 综合 > 正文

java 强制类项转换

2018年02月05日 ⁄ 综合 ⁄ 共 582字 ⁄ 字号 评论关闭

 

缘由:编写java程序时,引用变量只能调用它编译时的类项方法。而不能调用它运行时的类型的方法,即使它实际所引用的对象确实包含该方法。如果让这个引用变量调用它运行时类项的方法,则必须把它强制类项转化成运行时类项,需要用类项转化运算符(type)。

 

强制类项转化:1.基本类项的转化只能在数值类项之间进行,数值:整数型,字符型,浮点型。但数值不能和布尔型之间进行类项转化。

                          2.引用类项只能把父类类项变量转化成子类类项。

                          总之,把子类对象变量赋给父类引用时,向上转型(系统隐式转化),总是可以成功的。考虑到向下转型(类型强制转化)时可能出现的异常,应通过instanceof运算符来判断是否可以成功转化。

 

instanceof:引用变量+instanceof+类/接口    判断前面的对象是不是后面的类或者其子类实现类的实例 。如果是则返回true,否则返回false。

                    注意:引用变量编译时类项要么与后面类的类项相同,要么是后面类的父类,否则编译通不过。(强制类项转化
大------->小 

 

强制转化时的思路:先用instanceof判断一个对象是否可以强制类项转化,再用(type)运算符进行强制类项转化,从而保证程序不会出错。

抱歉!评论已关闭.