为什么 getApplication() 返回的 obj 可以强制转换为其子类的类型?



作为标题,

假设有一个kiahaapplication类扩展了Application,

我看到了下面的代码:

KiahApplication Kapp=(KiahApplication)getApplication();

但是将超类转换为子类不是不正确的吗?

谢谢你的帮助!

不,这并不违法,有时是必要的。重要的是要确保对象是子类的一个实例。您可以通过在代码中测试它或捕获潜在的ClassCastException来做到这一点。在您给出的示例中,如果您绝对确定Application对象的类型是正确的,那么您可以保持原样。

最新更新