0Pricing
Kotlin Academy · Lesson

Factory Methods with companion object

Implement factory patterns using companion object and invoke operator.

The Factory Method Pattern

Factory methods create objects with meaningful names and logic, hiding constructor complexity. Kotlin's companion object is the ideal home for them.

Private Constructor + Factory

Make the constructor private and provide factory methods via companion object.
class Token private constructor(val value: String) {
    companion object {
        fun generate() = Token(java.util.UUID.randomUUID().toString())
        fun fromString(s: String) = Token(s.trim())
    }
}
val t = Token.generate()

All lessons in this course

  1. object Declaration: Kotlin Singletons
  2. companion object: Static-like Members in Kotlin
  3. Anonymous Objects and Object Expressions
  4. Factory Methods with companion object
← Back to Kotlin Academy