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