用instanceof类型转换是不是只能转换一个对象?

来源:10-2 多态中的引用类型转换

余小科

2019-07-19 09:59

     Jiaoche jiaoche = new Jiaoche();

feiji plane = new feiji();

    Jiaotonggongju jiaotonggongju = jiaoche;

if(jiaotonggongju instanceof feiji) {

feiji plane2 = (feiji) jiaotonggongju;

}else {

System.out.println("123");

}

if(jiaotonggongju instanceof Jiaoche) {

Jiaoche jiaoche2 = (Jiaoche)jiaotonggongju;}

else {System.out.println("321");}

这样子只能转换Jiaoche,feiji就转换不了了,当我两种都转换的时候就报错了

 


写回答 关注

1回答

  • 九章哀郢
    2019-07-20 21:06:16

    instanceof只是判断一个对象是否某个类或者子类的对象或者实例,换句话说instanceof只是用来规避有风险或出错的强制转换,而不是转换的本身。对象之间能否转换而风险或出错取决于对象之间的相互关系。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530642 学习 · 6091 问题

查看课程

相似问题