Nested Classes
Classes inside classes.
Classes Inside Classes
Kotlin lets you declare a class inside another class. By default such a class is nested and does not hold a reference to the outer instance.
class Outer {
class Nested {
fun hello() = "Hi from Nested"
}
}
fun main() {
println(Outer.Nested().hello())
}Creating a Nested Instance
Because a nested class is independent, you create it via the outer class name without an outer instance: Outer.Nested().
class Computer {
class Cpu {
val cores = 8
}
}
fun main() {
val cpu = Computer.Cpu()
println(cpu.cores)
}All lessons in this course
- Nested Classes
- Inner Classes
- Anonymous Objects
- Local Classes