Avatar ·

Statische Methoden und Variablen in Kotlin: Wie ersetze ich Java static?

Hallo! Ich wechsle von Java zu Kotlin und bin auf ein Problem gestoßen. In Java habe ich oft statische Methoden und Variablen für Utility-Klassen, Konstanten oder Factory-Methoden verwendet. Zum Beispiel so eine einfache Klasse in Java: ```java public class MathUtils { public static final double PI = 3.14159; public static double square(double x) { return x * x; } } ``` Ich habe versucht, dasselbe in Kotlin zu schreiben, aber der Compiler gibt einen Fehler aus, wenn ich versuche, das Schlüsselwort `static` zu verwenden. Ich habe gelesen, dass es in Kotlin kein `static` als solches gibt, aber es gibt sogenannte "companion objects". Ich habe es so versucht: ```kotlin class MathUtils { companion object { val PI = 3.14159 fun square(x: Double): Double = x * x } } ``` Das funktioniert, aber mich verwirrt einiges