0Pricing
Kotlin Academy · Lesson

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

  1. Nested Classes
  2. Inner Classes
  3. Anonymous Objects
  4. Local Classes
← Back to Kotlin Academy