For the More Curious: A Closer Look at var and val Properties

In this chapter you learned that the var and val keywords are used when specifying a class property – var for writable, and val for read-only.

You may be wondering how a Kotlin class property works, under the hood, when targeting the JVM.

To understand how class properties are implemented, it is helpful to look at the decompiled JVM bytecode – specifically, to compare the bytecode generated for a single property depending on how it is specified. Create a new file called Student.kt. (You will delete this file after this exercise.)

First, define a class with a var property (which allows both reading and writing the class property).

Listing 12.23  Defining a Student ...

Get Kotlin Programming: The Big Nerd Ranch Guide, First Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.