我创建了一个kotlin活动,但是我无法扩展活动,我收到消息为" 此类型是最终的,因此无法继承&#34 ;。如何从最终中删除kotlin活动,因此可以延长。
答案 0 :(得分:48)
根据Kotlin文档,类的开放注释与Java的最终结果相反。它允许其他人继承这个类。默认情况下,Kotlin中的所有类都是最终的。
open class Base {
open fun v() {}
fun nv() {}
}
class Derived() : Base() {
override fun v() {}
}
答案 1 :(得分:13)
默认情况下,Kotlin活动是最终的,因此我们无法扩展该类。
为了克服这一点,我们必须进行活动open
,以便它可以扩展。
与open class BaseCompatActivity : AppCompatActivity() { }
答案 2 :(得分:9)
在Kotlin中,默认情况下这些类是最终的,这就是为什么类不可扩展。
类的开放注释与Java的最终版本相反:它允许其他人继承此类。默认情况下,Kotlin中的所有类都是最终的。 Kotlin - Inheritance
open class Base(p: Int)
class Derived(p: Int) : Base(p)