【发布时间】:2011-09-27 08:29:04
【问题描述】:
为什么以下代码风格有效:
BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
//do something based on the intent's action
}
}
我希望它是:
private class MyBroadcastReceiver extends BroadcastReceiver () {
public void onReceive(Context context, Intent intent) {
//do something based on the intent's action
}
}
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
在上面的第一段代码中,编译器如何知道receiver 的类型是MyBroadcastReceiver 而不是BroadcastReceiver?这不是模棱两可吗?为什么允许这样做?
如果我定义:
BroadcastReceiver receiver2 = new BroadcastReceiver();
现在是receiver == reciver2?
编辑:
广播接收器
http://developer.android.com/reference/android/content/BroadcastReceiver.html
【问题讨论】:
-
BroadcastReceiver是接口吗?