栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么我们总是在Android / Java中键入强制类型转换?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么我们总是在Android / Java中键入强制类型转换?

findViewById
从文件加载资源。它返回某种
View
,但是Java编译器无法知道它将是
DrawerLayout
(因为它是在Java编译之外的文件中定义的)。

如果您需要将其作为

DrawerLayout
代码中的a,则必须进行强制转换。这样可以确保(在运行时)它确实是这样的对象(如果不是,则将得到一个,
ClassCastException
并且程序将在此时中断)。

之所以要强制转换,

DrawerLayout
是因为您可能想在该类中定义的实例上调用方法。有时,仅使用更通用的超类的签名就可以了。然后,您不必强制转换。

可以肯定的

findViewById
是,
DrawerLayout
无论是否强制转换,返回的实例都是无关紧要的。但是,如果您不进行强制转换,那么Java将不允许您将其视为
DrawerLayout
。这就是类型安全语言的要点:除非编译器可以确定对象属于某个类,否则它不会让您调用该类的方法(或访问字段)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号