Sobes.tech
Junior

Was ist ein Companion-Objekt in Kotlin?

sobes.tech KI

Antwort von AI

Objekt, das mit einer Klasse verbunden ist und statische Mitglieder (Eigenschaften und Funktionen) enthält. Über den Klassennamen zugänglich.

class MyClass {

    companion object {
        // Statische Eigenschaft
        const val TAG = "MyClass"

        // Statische Funktion
        fun create(): MyClass {
            return MyClass()
        }
    }
}

// Zugriff auf Mitglieder des companion object
val instance = MyClass.create()
val className = MyClass.TAG

Hauptanwendungen:

  • Fabrikmethoden.
  • Konstanten.
  • Statische Hilfsfunktionen.

Das Schlüsselwort companion kann weggelassen werden, dann heißt das Objekt Companion, was jedoch selten verwendet wird. Es kann einen anderen Namen als Companion haben. Implementiert Schnittstellen.