Avatar ·

Der Unterschied zwischen class und object in Kotlin: Wann sollte man das Schlüsselwort object verwenden?

Hallo! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und bin beim Schlüsselwort object verwirrt. In Java verwenden wir new, um Instanzen zu erstellen, und class ist nur eine Vorlage. Aber in Kotlin sehe ich, dass object überall verwendet wird: sowohl zur Deklaration von Singletons als auch zur Erstellung anonymer Klassen und sogar als companion object innerhalb einer Klasse. Hier ist ein Beispiel, das mich verwirrt: ```kotlin // Ist das eine Klasse? class MyClass { fun doSomething() { println("Hello from class") } } // Und was ist das? Auch eine Klasse? object MyObject { fun doSomething() { println("Hello from object") } } // Und wie verwendet man das? fun main() { val instance = MyClass() // Ok, ich erstelle eine Instanz der Klasse MyObject.doSomething() // Aber hier ohne new? Warum? } ``` Erklären Sie mir bitte den grundlegenden Unterschied zwischen class und object in Kotlin. Wann sollte man class und wann object verwenden? Und warum kann man object nicht wie eine normale Klasse über einen Konstruktor erstellen? Ich wäre für Beispiele dankbar.