我得到了这个代码:
mBoundService = ((LocalService.LocalBinder)service).getService();
一些好人可以解释这是什么意思:((LocalService.LocalBinder)service) 有人可以举一些其他的例子,就像((A)B)。
谢谢你。
这只是铸造。它告诉编译器,“我知道你只知道这个表达式的值是 X 类型,但我相信在执行时它将是 Y 类型。在执行时为我检查它,然后让我以这种方式使用它。”
例如:
Object x = getValueFromSomewhere();
String text = (String) x; // I know x is a string reference really
// Use text as a normal string reference
如果您对所涉及的类型的信念不正确(例如,如果 的值是对 a而不是x
a 的引用),则抛出 a 。Integer
String
ClassCastException
有关更多信息,请参阅Java 继承教程(或仅搜索“Java 转换教程”以找到许多类似的教程)或参阅Java 语言规范的第 15.16 节了解详细信息。
本地绑定器意味着您的活动应该只绑定到您的应用程序。请注意,服务也可以绑定到其他应用程序。而 LocalService.LocalBinder 允许您的服务绑定包含该服务的应用程序。
此语句意味着“服务”变量转换为类型 LocalService.LocalBinder。
其他样品:
double a=1.1f;
int i=(int)a;// you can't write int i=a;