知乎:
首先基本数据类型不是对象,强转改的是值,分为有损和无损,有损会丢失数据细节。
然后对象,只有继承关系的类才能强转,改变的只是引用,而且向上转型是安全的,把你转为人类是安全的,你还是你,只是现在别人看你是个人类,看不清你的个性化细节,他们能知道的也仅仅局限于人类提供给别人访问的属性和方法,记住你还是你。向下转型是有可能出错的,只要事先知道你是你的情况下才能把人类转成你,如果把另一个人类转成你是必定会报错的。总之改的只是这个对象的引用,对象还是老老实实的待在堆内存中。
作者:知乎用户
链接:https://www.zhihu.com/question/35262854/answer/61990920
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
博客:
http://www.cnblogs.com/chenssy/p/3393160.html
总结
类型转换只要转换的类原来就在内存中存在。引用向下强转和向上转型都是可行的,只是换了指针而已
时间: 2024-10-12 15:21:22