Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio 关键字对象在Kotlin中是什么意思?_Android Studio_Kotlin - Fatal编程技术网

Android studio 关键字对象在Kotlin中是什么意思?

Android studio 关键字对象在Kotlin中是什么意思?,android-studio,kotlin,Android Studio,Kotlin,代码A来自 我无法完全理解代码private val volumeDownReceiver=object:BroadcastReceiver() 我认为代码B可以很好地工作,但实际上它失败了 关键字对象在Kotlin中是什么意思 代码A private val volumeDownReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) {

代码A来自

我无法完全理解代码p
rivate val volumeDownReceiver=object:BroadcastReceiver()

我认为代码B可以很好地工作,但实际上它失败了

关键字对象在Kotlin中是什么意思

代码A

private val volumeDownReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        ...
    }
}
代码B

private val volumeDownReceiver = BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        ...
    }
}

在代码A中val volumeDownReceiver=object:BroadcastReceiver()指创建从类型BroadcastReceiver继承的匿名类的对象

在代码B中,val volumeDownReceiver=BroadcastReceiver()尝试实例化一个抽象类的新实例,这就是它失败的原因


编辑:链接到文档:

对象
关键字也可用于创建。使用它,您是说您希望覆盖具体或抽象成员的一个或多个成员。这样,您就不需要创建一个单独的类来根据您的需要调整功能。我建议你读一读。