Start learning free

LESSON 286 OF 677 · FUNCTIONS & CLASSES

Creating Objects in Kotlin

Lesson

TL ; DR:

  • An object is an instance of a class — a real, usable copy made from the blueprint.


  • You create one by calling the class name like a function (there is no new keyword in Kotlin):

    val rex = Dog()
    

  • Each call to Dog() creates a separate object, even if they all come from the same class.



Full lesson:

In the previous lesson you defined the Dog class — the blueprint. But a blueprint isn't a dog. To get an actual dog you can interact with, you need to create an instance of the class. An instance is also called an object.


Calling the constructor

To create a new object in Kotlin, write the class name followed by parentheses, with no new keyword:

val rex = Dog()

What this line does:

  • Dog() creates a fresh Dog object on the heap.

  • val rex declares a read-only variable named rex that holds a reference to that object.

  • The = connects the two — rex now refers to the freshly-created dog.


Many objects from one class

You can call Dog() as many times as you want, and each call gives you a brand-new, independent object:

val rex   = Dog()
val buddy = Dog()
val luna  = Dog()

rex, buddy, and luna are all Dog objects, but they're different objects. Changing one won't affect the others — they share the blueprint but live their own lives.


Your task

The Dog class is already defined for you. Inside mainFunction, create three separate Dog objects named rex, buddy, and luna. The pre-filled println will confirm:

rex exists
buddy exists
luna exists
STEP 1 OF 3
    Ctrl + Enter to check