Bird
Raised Fist0
Kotlinprogramming~5 mins

Object declaration syntax in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an object declaration in Kotlin?
An object declaration in Kotlin creates a singleton object, which means only one instance of that object exists throughout the program.
Click to reveal answer
beginner
How do you declare a simple object named Logger in Kotlin?
Use the syntax:
object Logger {
    fun log(message: String) {
        println(message)
    }
}
Click to reveal answer
intermediate
Can an object declaration have properties and functions in Kotlin?
Yes, an object declaration can have properties and functions just like a class, but it cannot have constructors because it is a singleton.
Click to reveal answer
intermediate
What is the difference between an object declaration and a class in Kotlin?
An object declaration creates a single instance automatically (singleton), while a class can have many instances created using constructors.
Click to reveal answer
beginner
How do you access a function inside an object declaration?
You access it directly by the object name, for example: Logger.log("Hello") without creating an instance.
Click to reveal answer
What keyword is used to declare a singleton object in Kotlin?
Ainstance
Bclass
Csingleton
Dobject
Can an object declaration in Kotlin have a constructor?
AOnly secondary constructors are allowed
BYes, it can have primary and secondary constructors
CNo, object declarations cannot have constructors
DOnly primary constructors are allowed
How do you call a function named printMessage inside an object named Notifier?
AprintMessage()
BNotifier.printMessage()
CNotifier().printMessage()
Dnew Notifier().printMessage()
Which of the following is true about Kotlin object declarations?
AThey are instantiated lazily and only once
BThey require explicit instantiation
CThey can have multiple instances
DThey cannot have functions
What happens if you try to create an instance of an object declaration using a constructor?
AIt throws a compile-time error
BIt creates a new instance
CIt creates a copy of the object
DIt returns null
Explain how to declare and use an object declaration in Kotlin.
Think about how you create a single shared tool or helper in your program.
You got /4 concepts.
    Describe the differences between a Kotlin object declaration and a class.
    Consider how many copies you want in your program.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the object keyword in Kotlin do?
      easy
      A. Creates a function that returns an object
      B. Defines a class that can be instantiated multiple times
      C. Declares a variable of type Object
      D. Creates a single instance with properties and functions

      Solution

      1. Step 1: Understand the object keyword purpose

        The object keyword creates a singleton, meaning one single instance with properties and functions.
      2. Step 2: Compare with other options

        Classes can be instantiated multiple times, variables don't define singletons, and functions returning objects are different concepts.
      3. Final Answer:

        Creates a single instance with properties and functions -> Option D
      4. Quick Check:

        object keyword = single instance [OK]
      Hint: Remember: object = one single instance [OK]
      Common Mistakes:
      • Confusing object with class
      • Thinking object creates multiple instances
      • Mixing object with variable declaration
      2. Which of the following is the correct syntax to declare an object named Config in Kotlin?
      easy
      A. object Config { }
      B. val Config = object { }
      C. class Config { }
      D. fun Config() { }

      Solution

      1. Step 1: Identify the object declaration syntax

        The correct syntax to declare a singleton object is using the object keyword followed by the name and curly braces.
      2. Step 2: Check other options

        class Config { } declares a class, B declares an anonymous object assigned to a val, and D declares a function, so they are incorrect.
      3. Final Answer:

        object Config { } -> Option A
      4. Quick Check:

        object keyword + name + braces = correct syntax [OK]
      Hint: Use 'object Name { }' to declare singleton objects [OK]
      Common Mistakes:
      • Using class instead of object
      • Assigning anonymous object to val instead
      • Using function syntax by mistake
      3. What is the output of this Kotlin code?
      object Logger {
          fun log(msg: String) = println("Log: $msg")
      }
      
      fun main() {
          Logger.log("Start")
      }
      medium
      A. Log: Start
      B. Start
      C. Logger.log(Start)
      D. Compilation error

      Solution

      1. Step 1: Understand object usage

        The object Logger has a function log that prints "Log: " plus the message.
      2. Step 2: Trace the main function call

        Calling Logger.log("Start") prints "Log: Start" to the console.
      3. Final Answer:

        Log: Start -> Option A
      4. Quick Check:

        Logger.log("Start") prints "Log: Start" [OK]
      Hint: Object functions called by object name print their output [OK]
      Common Mistakes:
      • Expecting just the message without prefix
      • Thinking it prints the function call text
      • Assuming compilation error due to object usage
      4. Identify the error in this Kotlin object declaration:
      object Data {
          var count: Int
          fun increment() {
              count++
          }
      }
      medium
      A. Cannot use 'var' inside object
      B. Missing initialization for 'count' property
      C. Function 'increment' should return Int
      D. Object cannot have properties

      Solution

      1. Step 1: Check property declaration

        The property 'count' is declared but not initialized or marked as abstract, which is invalid in objects.
      2. Step 2: Validate other options

        Objects can have vars, functions can be Unit-returning, and objects can have properties, so other options are incorrect.
      3. Final Answer:

        Missing initialization for 'count' property -> Option B
      4. Quick Check:

        Properties in objects must be initialized [OK]
      Hint: Always initialize properties in objects or use lateinit [OK]
      Common Mistakes:
      • Forgetting to initialize properties
      • Thinking vars are disallowed in objects
      • Expecting functions to always return a value
      5. You want to create a singleton object Cache that stores key-value pairs and provides a function getValue(key: String): String?. Which of the following is the best Kotlin object declaration?
      hard
      A. fun Cache() = mutableMapOf() fun getValue(key: String) = Cache()[key]
      B. class Cache { val map = mutableMapOf() fun getValue(key: String) = map[key] }
      C. object Cache { private val map = mutableMapOf() fun getValue(key: String) = map[key] }
      D. val Cache = mapOf() fun getValue(key: String) = Cache[key]

      Solution

      1. Step 1: Identify singleton pattern

        Using object creates a singleton Cache with a private mutable map and a function to get values.
      2. Step 2: Compare other options

        class Cache { val map = mutableMapOf() fun getValue(key: String) = map[key] } is a class needing instances, C is a function returning a new map each time, D uses an immutable map and separate function, not encapsulated.
      3. Final Answer:

        object Cache { private val map = mutableMapOf() fun getValue(key: String) = map[key] } -> Option C
      4. Quick Check:

        Singleton object with private mutable map = object Cache { private val map = mutableMapOf() fun getValue(key: String) = map[key] } [OK]
      Hint: Use object with private mutable map for singleton cache [OK]
      Common Mistakes:
      • Using class instead of object for singleton
      • Returning new map each call instead of storing
      • Using immutable map when mutation is needed
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard