无法扩展Kotlin活动,此类型为final,因此无法继承

xwbd5t1u  于 2023-03-13  发布在  Kotlin
关注(0)|答案(4)|浏览(150)

我已创建Kotlin活动,但无法扩展该活动。我收到以下消息:This type is final, so it cannot be inherited from .如何从Kotlin的Activity中删除final,以便扩展它?

scyqe7ek

scyqe7ek1#

根据Kotlin文档,类上的open注解与Java的final相反,它允许其他类继承该类。默认情况下,Kotlin中的所有类都是final的。

open class Base {
    open fun v() {}
    fun nv() {}
}

class Derived() : Base() {
    override fun v() {}
}

参考:https://kotlinlang.org/docs/reference/classes.html

qxgroojn

qxgroojn2#

默认情况下,Kotlin活动是final的,所以我们不能扩展类。为了克服这个问题,我们必须使活动open成为可扩展的。
就像open class BaseCompatActivity : AppCompatActivity() { }一样

ufj5ltwl

ufj5ltwl3#

在Kotlin中,类默认为final,这就是类不可扩展的原因。
类的open注解与Java的final注解相反:它允许其他类继承这个类。默认情况下,Kotlin中的所有类都是final的。

open class Base(p: Int)

class Derived(p: Int) : Base(p)
5jvtdoz2

5jvtdoz24#

class Base

简单添加打开超级/父类:

open class Base

相关问题