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

时间:2016-07-03 11:44:31

标签: java android

作为标题,

假设有一个扩展Application的KiahApplication类,

我已经看过下面的代码:

KiahApplication Kapp=(KiahApplication)getApplication();

但将超类强制转换为其子类是不是不正确?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

不,它不违法,有时是必要的。重要的是要确保该对象是子类的实例。您可以通过在代码中测试它或捕获潜在的ClassCastException来完成此操作。在您给出的示例中,如果您完全确定Application对象的类型正确,那么您可以保持原样。