java的强制类型转换应该怎样理解?
6个回答
展开全部
1、所谓转换,不是指将一个对象转化为另一种类型的对象,主要是为了应用的需要和方例,比如多态的使用,有时必须要强制类型转换。如:
Father f=new Son("one");
此时的方法接口要传Father,但里边要用son中的某个特有方法,此时必须要进行强制转换才行,如Son s=(Son)f,这是这样。
2、有2种类型的强制类型转换,一种是子父类之间的转换、一种是非子父类但相关可转化的转换
3、子父类之间转化就像上边的例子,还有一种如
String str="123";
int num=(int)str;//相关可转化型的。
4、白话概括下,就是小对象我当成大对象使了,我现在又要用小对象,此我需要强制转化成小对象;A可以转化为B对象,此时的参数我需要B对象,但是我只有A对象,此时需要将A对象转化为B对象。
不知不觉写的有点多,希望有点用吧。
Father f=new Son("one");
此时的方法接口要传Father,但里边要用son中的某个特有方法,此时必须要进行强制转换才行,如Son s=(Son)f,这是这样。
2、有2种类型的强制类型转换,一种是子父类之间的转换、一种是非子父类但相关可转化的转换
3、子父类之间转化就像上边的例子,还有一种如
String str="123";
int num=(int)str;//相关可转化型的。
4、白话概括下,就是小对象我当成大对象使了,我现在又要用小对象,此我需要强制转化成小对象;A可以转化为B对象,此时的参数我需要B对象,但是我只有A对象,此时需要将A对象转化为B对象。
不知不觉写的有点多,希望有点用吧。
追问
这个。。有点深奥啊。没怎么听懂,可不可以说的简单点。最好举个简单的例子就好了。
追答
1、要知道java是强调面向对象这个概念的,不同的对象,哪怕其实它的值一样,也是不能当做一件东西使用的,比如:字符串"12345“和数字12345,它们其实的值是一样的,但是,当我需要数字12345的时候,那个字符串"12345"是不能使用的,必须进行转换,而他们又不是double、float、int这样的直接大小关系,而是两个不同的数据类型,那么此时必须进行强制转换,所谓的“强制”,其实不是将以前数据类型的数据放在现在数据类型中试一下是不是可以放得下,如果能放下就OK了,强制转化成功;如果不能强制转化成功,比如字符串"abc",是不能转化为int整型的,所以此时转化失败,会报NumberFormatException异常,是指无法将字符串"abc"转化成整型的。举个简例,
2、数值型字符串转化为整数,String numString="12345",我现在有字符串对象,但是我需要整型对象,也就是里边的值,因为它俩是两个不同数据类型,所以,要进行强制转换,
int num=Integer.parseInt(numString),就可以得到numString字符串中的值了,并使用了。
虽多,但是比较简单,看看能明白吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询