Inner Class
https://kotlinlang.org/docs/nested-classes.html |
inner
Вложенный класс по умолчанию не имеет доступа к свойствам и функциям внешнего класса. Чтобы вложенный класс мог иметь доступ к свойствам и функциям внешнего класса, необходимо определить вложенный класс с ключевым словом inner
class A {
private val n: Int = 1
inner class B {
private val n: Int = 1
fun action() {
println(n) // n из класса B
println(this.n) // n из класса B
println(this@B.n) // n из класса B
println(this@A.n) // n из класса A
}
}
}
Kotlin Inner Class. Вопросы на собесе
- Что такое inner class в Kotlin и чем она отличается от обычного класса?