Android Java 类转换
我想知道是否有人可以为我解释一些关于班级演员的事情。
我正在使用 Android,我有一个名为 ExApp 的应用程序子类。
我想从我的一个活动中调用 ExApp 的方法,所以我这样做:
ExApp ex = ((ExApp)getapplication());
我不明白的是为什么我需要一对括号?为什么我不能只是:
ExApp ex = (ExApp)getApplication();
?
谢谢。
I am wondering if someone could explain something about a class cast for me.
I am playing around with Android and I have a subclass of Application named ExApp.
I want to call a method of ExApp from one of my activities, so I do:
ExApp ex = ((ExApp)getapplication());
What I don't understand is why I need a double set of parentheses? Why can't I just:
ExApp ex = (ExApp)getApplication();
?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以。这两种说法完全一样。
您会看到不同之处在于,如果您对结果调用方法,例如
不同于:
在第一种情况下,它是 foo() 的结果,该结果被转换为
ExApp
;第二个是ExApp
的结果,整体表达式是foo()
的返回类型。You can. The two statements are exactly the same.
Where you'd see a difference is if you were calling a method on the result, e.g.
is different to:
In the first case, it's the result of
foo()
which is cast toExApp
; in the second, it's the result ofExApp
, and the overall expression is the return type offoo()
.