强转是什么意思?老师能不能打个比方?

强转是什么意思?老师能不能打个比方?

http://img1.sycdn.imooc.com//climg/5b9fca800001c1ef03630046.jpg

强转的意义在于什么?以前的课程好像看不太懂,印象不深。麻烦老师接地气的讲一下,谢谢

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

比如一个Person类,你可以用Object类去引用它Object person = new Person();这个时候你的person变量是不能使用Person类里的方法的,因为该person变量是一个Object类型。你必须将其类型强制转换为Person,person = (Person)person,才能调用Person类中的方法。

但是编译器是不知道person引用确实指向的的是Person类对象,所以编译器不会帮你做强转的自动检查。你需要自己确定这个person引用的确指向的是Person类对象才能转换成功,否则会报错。

  • 广州麻辣牛杂档 提问者 #1
    那为什么不直接 Person person=new Person()呢 而是前面用Object呢?
    2018-09-18 10:17:01
  • 为了通用啊。比如有一个方法method(Object object),你看这个方法的参数是Object类型的,如果你直接声明Person person=new Person(),就不能传递进该方法了。
    2018-09-18 10:28:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师