Was ist der Unterschied zwischen object und companion object in Kotlin? Beispiele
Hallo zusammen! Ich habe angefangen, Kotlin zu lernen, und kann den Unterschied zwischen einem normalen object innerhalb einer Klasse und einem companion object nicht verstehen.
Angenommen, ich schreibe eine einfache Klasse für die Arbeit mit einer Datenbank:
```kotlin
class DatabaseManager {
object Config {
val HOST = "localhost"
val PORT = 5432
}
companion object {
fun create(): DatabaseManager = DatabaseManager()
}
}
```
Ich sehe, dass beide Varianten etwas Ähnliches wie statische Member aus Java erstellen. Aber warum gibt es dann zwei verschiedene Mechanismen? Wann sollte man object und wann companion object verwenden?
Gibt es vielleicht Feinheiten bei Vererbung, Serialisierung oder Zugriff aus Java? Ich wäre für eine detaillierte Erklärung mit Beispielen dankbar.
<<>>