A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中的数据类型装换隐式转换是什么呀?

2 个回复

倒序浏览
    就拿浮点数来说吧,float是32位,最小值是-2的-149次方,最大是2的(2-2的-23次方)*127次方,double的最小值是2的-1074次方,最大值为(2-2的-52次方)*2的1023次方,你如果要精确的表示一个数,你认为用谁更准确,double,所以如果当你试图用一个float类型的变量来代表一个双精度的double数值时有没有可能导致这个double数的精度变差呢?肯定有,比如我一个double是2的-1000次方,你能用float表示吗,float最小都才-149次方。所以我们想用一个float表示double的话那么要显式的表示出来,提醒编程者,这儿会导致精度损失。而你如果用double去表示一个float呢,完全就不存在这种情况了,因为他能完全的表示你这个float的精度。所以不需要显式的说明,这就是隐式转换。系统自己帮我们转化好了。
       在继承或者面向接口编程中,我们会常常用到这种思想,一个子类Zi继承自父类Fu,那么当父类的变量Fu obj指向子类new Son()时是不需要说明的,你子类都是由我派生出去的,我儿子还需要向别人证明吗?但是你如果如果有一个子类的变量Zi  zi=obj了,那么系统会提醒你。这儿需要显式转换,因为父类表示的范围比子类更广泛。
      希望对你有用。
回复 使用道具 举报
简单地说Java中隐式类型的数据转换就是自动数据类型转换
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马