Я создал kotlin Activity, но я не могу продлить действие, я получаю сообщение как " Этот тип является окончательным, поэтому он не может быть унаследован от ". Как удалить активность котлина из финала, чтобы его можно было продлить.
kotlin Активность не может быть расширена, этот тип является окончательным, поэтому он не может быть унаследован
Ответ 1
Согласно документации Kotlin, открытая аннотация в классе противоположна Java final. Это позволяет другим наследовать от этого класса. По умолчанию все классы в Котлине являются окончательными.
open class Base {
open fun v() {}
fun nv() {}
}
class Derived() : Base() {
override fun v() {}
}
Ответ 2
По умолчанию активность Kotlin является окончательной, поэтому мы не можем расширить класс. Чтобы преодолеть это, мы должны сделать деятельность open
чтобы ее можно было продлить.
как open class BaseCompatActivity: AppCompatActivity() { }
Ответ 3
В Kotlin классы по умолчанию окончательны, поэтому классы не расширяемы.
Открытая аннотация в классе противоположна финалу Java: она позволяет другим наследовать от этого класса. По умолчанию все классы в Котлине являются окончательными. Котлин - Наследование
open class Base(p: Int)
class Derived(p: Int) : Base(p)