layoutcontainer findview extensions kotlin kotlin-android-extensions

findview - La actividad de kotlin no se puede ampliar, este tipo es definitivo, por lo que no se puede heredar



kotlin extensions (3)

En Kotlin, las clases son finales por defecto, por eso las clases no son extensibles.

La anotación abierta en una clase es lo opuesto a la final de Java: permite a otros heredar de esta clase. Por defecto, todas las clases en Kotlin son finales. Kotlin - Herencia

open class Base(p: Int) class Derived(p: Int) : Base(p)

He creado una Actividad kotlin, pero no puedo extender la actividad, recibo el mensaje como " Este tipo es definitivo, por lo que no se puede heredar de ". Cómo eliminar una actividad kotlin de final, para que pueda extenderse.


Por defecto, la actividad de Kotlin es final, por lo que no podemos extender la clase. Para superar eso, tenemos que hacer que la actividad esté open para que pueda extenderse.

como open class BaseCompatActivity : AppCompatActivity() { }


Según la documentación de Kotlin, la anotación abierta en una clase es lo opuesto a la final de Java. Permite a otros heredar de esta clase. Por defecto, todas las clases en Kotlin son finales.

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

Consulte: https://kotlinlang.org/docs/reference/classes.html