为何可以这样强转?

image
这里的C类和A类没关系啊,怎么编译器也能允许强转?

阅读 1.5k
1 个回答

java支持多态。所以在用到c之前。c是任意类型(等号前面的类型)。有可能是extends C的类型。
所以ide只报了警告。
C cInst = ca.newInstance();直到用到ca时才动态绑定为等号后面的类型。
简单来说就是你用眼睛看知道C类和A类没关系。但是编译器不知道。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题