Sobes.tech
Junior — Middle

Ist das Begleitobjekt für alle erstellten Instanzen der Klasse gemeinsam?

sobes.tech KI

Antwort von AI

Ja, das Companion-Objekt in Kotlin ist für alle Instanzen der Klasse gemeinsam. Es ist eine Art Singleton, das mit der Klasse verbunden ist, nicht mit einer bestimmten Instanz.

Das Companion-Objekt ermöglicht es, Funktionen und Eigenschaften zu definieren, die ohne Erstellen einer Instanz der Klasse aufgerufen werden können, ähnlich wie statische Methoden und Felder in Java.

Beispiel:

class MyClass {
    companion object {
        val sharedValue = 42
        fun printValue() {
            println("Gemeinsamer Wert: $sharedValue")
        }
    }
}

fun main() {
    println(MyClass.sharedValue) // 42
    MyClass.printValue()        // Gemeinsamer Wert: 42
}

Hier sind sharedValue und printValue für alle Instanzen von MyClass gemeinsam.