Szukaj…


Wprowadzenie

Obiekt jest specjalnym rodzajem klasy, który można zadeklarować za pomocą słowa kluczowego object . Obiekty są podobne do Singletonów (wzorzec projektowy) w Javie. Działa również jako statyczna część Java. Początkujący, którzy przechodzą z java na kotlin, mogą znacznie skorzystać z tej funkcji, zamiast statycznych lub singletonów.

Użyj jako repalcement statycznych metod / pól Java

object CommonUtils {

    var anyname: String ="Hello"

    fun dispMsg(message: String) {
        println(message)
    }
}

Z dowolnej innej klasy wystarczy wywołać zmienną i funkcje w ten sposób:

CommonUtils.anyname
CommonUtils.dispMsg("like static call")

Użyj jako singletonu

Obiekty Kotlin są w rzeczywistości singletonami. Jego podstawową zaletą jest to, że nie trzeba używać SomeSingleton.INSTANCE aby uzyskać instancję singletonu.

W java twój singleton wygląda następująco:

public enum SharedRegistry {
    INSTANCE;
    public void register(String key, Object thing) {}
}

public static void main(String[] args) {
    SharedRegistry.INSTANCE.register("a", "apple");
    SharedRegistry.INSTANCE.register("b", "boy");
    SharedRegistry.INSTANCE.register("c", "cat");
    SharedRegistry.INSTANCE.register("d", "dog");
}

W kotlin równoważny kod to

object SharedRegistry {
    fun register(key: String, thing: Object) {}
}

fun main(Array<String> args) {
    SharedRegistry.register("a", "apple")
    SharedRegistry.register("b", "boy")
    SharedRegistry.register("c", "cat")
    SharedRegistry.register("d", "dog")
}

Jest to oczywiście mniej gadatliwy w użyciu.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow