Sobes.tech
Junior — Middle

Hogyan lehet osztálytulajdonságot deklarálni Kotlinban, hogy statikus legyen?

sobes.tech MI

Válasz az MI-től

Kotlinben nincs közvetlen megfelelője a Java statikus tulajdonságainak. Egy olyan tulajdonság deklarálásához, amely minden példányra közös (statikus), használjuk a companion object-et.

Példa:

class MyClass {
    companion object {
        var staticProperty: String = "Közös tulajdonság"
    }
}

fun main() {
    println(MyClass.staticProperty) // Hozzáférés a tulajdonsághoz példány létrehozása nélkül
    MyClass.staticProperty = "Új érték"
    println(MyClass.staticProperty)
}

A companion object-ben lévő tulajdonságok és metódusok a osztály névvel elérhetők, ami utánozza a statikus tagok viselkedését.