amp*_*nds 4 java casting subclass object
我在学校学习了一年的java课程,对铸造的理解非常有限.
我理解的类型是将int转换为double.这是有道理的; 1会变成1.0
我不太了解的铸造类型是:将自定义对象(比如说superRectangle)转换为另一个客户对象(例如myRectangle).(假设myRectangle是子类superRectangle)与实例关联的所有私有或公共字段会发生superRectangle什么?该计划如何知道这是一个合法的举动?对于所有重要的事情,我只能将一个int转换成一个字符串,那究竟是什么意思呢?
严格来说,int从而double不是铸造,而是转换.转换是关于将内存中相同的,未更改的位模式重新解释为属于另一种类型.而这也恰恰是铸造引用类型Java中的归结为:你有一些明确的,不可改变的类型的对象,你只是看着它,仿佛它是它的超类型的一个实例.
你不会被允许施放Integer到a,String因为后者不是前者的超类型.这在编译时得到了保证,并且在运行时也进行了双重检查.
| 归档时间: |
|
| 查看次数: |
564 次 |
| 最近记录: |