Read values exposed as object properties.

property A property is accessed with dot syntax, like `user.name`.

Property Basics

level
PropertyBasics.kt
Replay: real traced execution (multi-file project)
class User(val name: String, val level: Int)

fun main() {
    val level = 2
    val user = User("Mira", level)
    val summary = user.name + ":" + user.level

    println("level=$level")
    println("summary=$summary")
}
class User(val name: String, val level: Int)

fun main() {
    val level = 1
    val user = User("Mira", level)
    val summary = user.name + ":" + user.level

    println("level=$level")
    println("summary=$summary")
}
class User(val name: String, val level: Int)

fun main() {
    val level = 4
    val user = User("Mira", level)
    val summary = user.name + ":" + user.level

    println("level=$level")
    println("summary=$summary")
}
  1. level ← 2, summary ← Mira:2

    3fun main() {4    val level→ 2 = 2 //@level=1, 45    val user = User("Mira", level2)6    val summary→ Mira:2 = user.nameMira + ":" + user.level278    println("level=$level2")9    println("summary=$summaryMira:2")10}
    outputlevel=2
    summary=Mira:2
  1. level ← 1, summary ← Mira:1

    3fun main() {4    val level→ 1 = 15    val user = User("Mira", level1)6    val summary→ Mira:1 = user.nameMira + ":" + user.level178    println("level=$level1")9    println("summary=$summaryMira:1")10}
    outputlevel=1
    summary=Mira:1
  1. level ← 4, summary ← Mira:4

    3fun main() {4    val level→ 4 = 45    val user = User("Mira", level4)6    val summary→ Mira:4 = user.nameMira + ":" + user.level478    println("level=$level4")9    println("summary=$summaryMira:4")10}
    outputlevel=4
    summary=Mira:4