为什么要进行类型转换呢?
因为计算机对不同的数据类型有不同的保存方式,例如:int(整型) 类型在32位计算机中,占4位。而double(双精度)类型在32位计算机中,占8位。当高位转向低位的时候,如果不进行类型转换,就会造成数据溢出。为保护数据信息,需要进行数据类型转换。
对于Java来说,对象就是数据类型准确点说就是结构体名称,父类和子类的关系就像是C中 double 和int 类型 ,如果int 类型转换成 double 是可以直接转换的 因为 dounle 占8个字节,int 占 4个字节 是不会对double 数据造成不良影响的,相反 如果 double 类型转换成 int 类型就会造成数据的溢出,造成数据的丢失;而父类的两个子类 就像是 代表两个 结构体,两个 结构体内部的变量是不同的 ,因此代表不同的 数据类型;Animal animal = dog;说明了animal 是和dog 数据类型相同的,如果要相 animal = cat 这就不行了,因为animal已经指向了dog类型;而dog和cat 类型优势不同的 所以 再次 animal = cat赋值就是不行的
打个比方 你准备买一百块的东西 ,半路上改了主意 想买一个五块钱的东西 找回95块就是向下转换 当然你不找钱也行有钱嘛。相反 你只有五块钱 但是想买一百块的东西 怎么办?只能强迫老板卖五块钱啦!不喜勿喷
不同数据有不同数据的保存类型。数据间的处理就需要不同的数据类型。
有些是必须的有些事不必要的例如 double b=5.4;int a=b/3;这个编译器就会报错 这种情况是必须进行转化的
老师不是讲过 (大类型转化成小类型即自下而上的容易出错 这个时候就需要强制 当然有时候强制也会出错)
而小类型转化成大类型则不会出错即自上而下