Sobes.tech
Junior

Mis on companion object Kotlinis?

sobes.tech AI

Vastus AI-lt

Objekt, mis on seotud klassiga ja sisaldab staatilisi liikmeid (omadusi ja funktsioone). Juurdepääs klassi nime kaudu.

class MyClass {

    companion object {
        // Staatiline omadus
        const val TAG = "MyClass"

        // Staatiline funktsioon
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Juurdepääs companion object liikmetele
val instance = MyClass.create()
val className = MyClass.TAG

Peamised kasutusalad:

  • Tootmismeetodid.
  • Konstantid.
  • Staatilised utiliit-funktsioonid.

Võib jätta välja võtmesõna companion, siis nimetatakse objekti Companion, kuid seda kasutatakse harva. Võib omada teist nime kui Companion. Rakendab liideseid.